2011-02-06 1 views
0

У меня никогда не было проблем с тематической системой CakePHP в прошлом, но теперь ошибки в изобилии. Моя основная проблема заключается в том, что все тематические ресурсы (в/app/views/themed/MyTheme/webroot/*) не загружаются. Я установил пользовательский AppController в/app, чтобы установить тему.CakePHP тема возврата ресурсов ошибка

var $view = "Theme"; 
var $theme = "MyTheme"; 

Когда я иду на любую страницу, я могу видеть, что это с использованием макета default.ctp моей темы и HTML, это хорошо. Любые и все ресурсы страницы, CSS, JavaScript, изображения, все в теме вебсервера, не загружается, а вместо этого дает мне ошибку как следующий (скажем, я попытался получить доступ к http://example.com/theme/MyTheme/img/bg.png):

Error: ThemeController could not be found. 

Error: Create the class ThemeController below in file: app/controllers/theme_controller.php 

<?php 
class ThemeController extends AppController { 

    var $name = 'Theme'; 
} 

Я никогда не получал такую ​​ошибку в свое время с CakePHP. Я использую последнюю стабильную версию 1.3.7.

ответ

1

Я наконец нашел решение. CakePHP не понравилось мое имя в верхнем регистре. Фактически, любое имя темы, которое я пробовал, включая символы верхнего регистра, не работало. Я изменил имя папки и имя внутренней темы от «MyTheme» до «my_theme», и она отлично работала. Возможно, это ошибка, но это может быть недокументированная, но ожидаемая функциональность.

+0

его не ошибка, то есть торты условностей. все папки и файлы всегда должны быть в нижнем регистре подчеркнуты – dogmatic69

+0

@ dogmatic69, я полностью знаком с конвенциями к выпечке. Я пытался использовать «my_theme» при использовании $ theme = «MyTheme», но он не работал. Вероятно, это проблема с сервером. Фактически, после того, как я заменил Cake и (почти) начал с нуля, все начало работать. Опять же, вероятно, ID10T. –

Смежные вопросы