Лучший способ для структуры папок темы в Code Igniter? - PullRequest
4 голосов
/ 06 марта 2012

Я хочу, чтобы мое веб-приложение поддерживало темы. Есть 3 способа, которые я исследовал:

Решение 1:

- application
    - views
        - theme1
            - template files
        - theme2
            - template files
        - admin template
- css
    - theme1
    - theme2
- js
    - theme1
    - theme2
- images
    - theme1
    - theme2

Работает хорошо. Однако это неудобно при размещении файлов в отдельных папках.

Раствор 2

- application
    - views
        - theme1
            - css
            - js
            - images
            - template files
        - theme2
            - css
            - js
            - images
            - template files
        - admin template

И я изменил /application/.htaccess на

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]  

Это также хорошо работает, но хорошо ли это для безопасности? (Я не очень хорош в .htaccess)

Решение 3

- application
    - views
        - admin template
- themes
    - theme1
        - css
        - js
        - images
        - template files
    - theme2
        - css
        - js
        - images
        - template files

И я изменил путь к папке с темами в MY_Loader.

Похоже на лучшую структуру. У меня проблема с шаблоном администратора. Потому что я хочу также разместить файлы шаблонов администратора в представлениях папок в качестве основной системы, Я не знаю, как заставить представления загружать функцию, может видеть файлы в обоих местах.

Не могли бы все, пожалуйста, посоветовать мне лучшие решения. Спасибо и всего наилучшего,

1 Ответ

0 голосов
/ 07 марта 2012

В MY_Loader я предполагаю, что вы расширили функцию view (), чтобы искать правильный вид в другом месте?Если это так, почему бы не создать новую функцию в MY_Loader с именем adminView () или что-то, что является просто копией функции view (), но она ищет представления в расположении администратора.

В вашем контроллередля методов, которые вызывают специфичные для темы файлы, вы должны вызывать:

$this->load->view('template');

, а когда вам нужно вызвать шаблон администратора, вы должны вызвать:

$this->load->adminView('template);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...