Вызов файла с помощью PHP с сохранением локальных URL-адресов вызываемого файла - PullRequest
1 голос
/ 22 августа 2011

у меня есть два файла:

1.- root/folder/folder/themes/themeindex.php

и

2.- root/index.php

Я хочу включить themeindex.php в index.php, поэтому, когда вы войдете в каталог root, он загрузит тему, не отправляя вас (или показывая вам) путь root/folder/folder/themes/.

Я изо всех сил пытаюсь найти или выяснить способ включения файла themeindex.php, но сохраняю URL-адреса локально для его папки themes.

Значение моего

<link rel="stylesheet" type="text/css" href="style.css" />

останется таким, и мне не нужно будет превращать это в:

<link rel="stylesheet" type="text/css" href="/folder/folder/themes/style.css" />

Надеюсь, все это имеет смысл.

EDIT: Надеюсь, это объяснение моих причин поможет немного больше ...

1.- Я хочу, чтобы конечный разработчик мог создавать темы так же интуитивно насколько это возможно. Таким образом, URL остаются максимально простыми и интуитивно понятными.

2.- Мне нужно включить активную тему в root каталог, поэтому он автоматически загружается при открытии root.

Так что, если вы сочетаете мою причину номер один с моей причиной номер два, то вы может понять, насколько важно, чтобы URL оставались локальными и легко понимать.

Ответы [ 5 ]

0 голосов
/ 22 августа 2011

Лучшим решением может быть использование общей папки таблиц стилей для всех тем ("root / stylesheets").Затем они будут ссылаться на эту глобальную папку в относительном поместье:

<link rel="stylesheet" type="text/css" href="stylesheets/mytheme/style.css" />
0 голосов
/ 22 августа 2011

В корне .htaccess файл, добавьте следующие строки:

RewriteEngine On
RewriteRule ^style.css$ /folder/folder/themes/style.css [L]
0 голосов
/ 22 августа 2011

Включить файл темы просто:

include('root/folder/folder/themes/themeindex.php');

Другая проблема связана с HTML.HTML должен иметь веб-путь (не абсолютный путь) к файлу, чтобы он мог загрузить его и использовать.

Лучшее, что вы можете сделать, это что-то вроде:

<link 
    rel="stylesheet" 
    type="text/css" 
    href="<?php echo $theme_dir; ?>style.css" 
/>

, но это все равно откроет каталог вашей темы.Почему вы пытаетесь скрыть этот каталог?


Ответ на комментарий:

Если вы возьмете приведенный выше код и сообщите своему разработчику, как структурироватьих собственный каталог содержимого.Все, что вам нужно сделать, это отслеживать что-то вроде $active_theme_root и выводить его, чтобы загрузить собственную настроенную тему.Насколько я знаю, вы не можете установить каталог включения HTML, поэтому HTML должен знать веб-путь ко всем необходимым ресурсам

0 голосов
/ 22 августа 2011

Вы можете указать базовый тег в своем коде и указать его: папку, в которой находятся файлы CSS.

http://www.w3schools.com/tags/tag_base.asp

0 голосов
/ 22 августа 2011

Вместо style.css вы можете запросить style.php, файл, который вы определяете и который использует импорт root/folder/folder/themes/style.css и полностью его повторяет.

...