2013-04-22 4 views
2

Я искал this tutorial, добавив простую страницу в область администрирования Silverstripe (3.0.5), но получаю ошибки с ошибками сегментации в журнале apache.Как добавить еще одну страницу в Silverstripe CMS admin

Я думаю, что проблема заключается в методе «index» в «customHelp.php» - когда я переименовываю «индекс» в нечто другое, я не получаю никаких сбоев и записи в меню администратора, но, очевидно, ничего не отображается, если Я нажимаю на него.

Вот содержание моего "customHelp.php" - может ли кто-нибудь указать мне в правильном направлении?

<?php 

class customHelp extends LeftAndMain { 

    static $url_segment = "customHelp"; 
    static $menu_title = "Site Help";  
    static $allowed_actions = array ('customHelp'); 

    public function index() { 
     return $this->renderWith('customHelp'); 
    }  

    public function init() { 
     parent::init(); 
    } 
} 
+0

Почему, по вашему мнению, проблема связана с вашим методом индекса? Можете ли вы уточнить ошибку? Что у вас есть в вашем файле customHelp.ss? – drzax

+0

Я просто получаю «Нет данных - сервер отправил никаких данных» на моей веб-странице (с URL-адресом http: //mysite.local/admin/customHelp/). Если я переименую index() в xindex(), например, сайт администратора загружается нормально, предположительно потому, что этот метод не вызывается. Мой «customHelp.ss» такой же, как на странице учебника (хранится в/customHelp/templates) – finster

ответ

0

Я думаю, что учебник не является правильным или устаревшим.

Я попытался его здесь и получил ошибку:

Declaration of customHelp::index() should be compatible with that of LeftAndMain::index() 

Так что делает его совместимым для overiding с:

public function index($request) { 
    return $this->renderWith('customHelp'); 
} 

сделал его работу здесь.

+0

Спасибо. У меня есть немного дальше (не знаю, почему я не видел этого сообщения об ошибке), но теперь, когда я нажал на пункт меню «Помощь на сайте», правая сторона страницы, похоже, придерживается. Нажатие на любой из других пунктов меню не избавляет от текста «пользовательского содержимого HTML». Есть идеи? Благодарю. – finster

+0

Я могу подтвердить это странное поведение, но я не могу сказать, почему это происходит. содержимое загружается, но не отображается. Возможно, вы должны использовать LeftAndMainExtension вместо расширения. http://doc.silverstripe.org/framework/en/howto/extend-cms-interface – ivoba

+0

Спасибо - я попробую это вместо этого. Не думайте, что я выбрал лучший учебник, чтобы следовать;) Ваше решение исправило исходную проблему, так спасибо. – finster

-1

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

Классы должны начинаться с прописной буквы http://doc.silverstripe.org/framework/en/trunk/misc/coding-conventions и имена файлов должны следовать этому.

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

EDIT:

просто ударил меня, что вопрос индекса может быть вызвано unlfushed кэша шаблона: запустить флеш = все на сайте?.

+0

Спасибо - я постоянно бегу? Flush = all на моем сайте всякий раз, когда я вношу какие-либо изменения. Считаете ли вы, что переименование имени класса поможет? Я просто следую этой странице учебника, и вот как называется класс ... – finster

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