2013-07-02 3 views
0

Привет, я использую Silverstripe CMS на шаблоне «Простой». Мне интересно, как создавать субтитры для элементов меню.Создайте субтитры для пунктов меню в Silverstripe CMS?

Текущий шаблон навигации следующим образом:

<nav class="primary"> 
<span class="nav-open-button">²</span> 
<ul> 
    <% loop $Menu(2) %> 
     <li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li> 
    <% end_loop %> 
</ul> 

Я думаю, я мог бы как-то изменить $Menutitle.XML, но как? Также подзаголовок должен отображаться непосредственно под заголовком, но как та же кнопка. SubTitle должен иметь другое правило css, чтобы оно могло быть меньше. Я знаю, что в CMS есть область для редактирования названий страниц, которые становятся названиями меню, было бы легко добавить субтитры к администратору, как это, или есть какой-нибудь другой более простой способ? Мне нужно сделать несколько из них.

ответ

3

легкая вещь, чтобы сделать:

добавить поле в $db массив вашего Page класса:

private static $db = array('SubTitle' => 'Varchar(255)'); 

затем добавить это поле в методе getCMSFields в том же файле:

public function getCMSFields() { 
    $fields = parent::getCMSFields(); 
    $fields->addFieldToTab('Root.Main', TextField::create('SubTitle')); 
    return $fields; 
} 

теперь вы можете использовать переменную $SubTitle в своем шаблоне, например, так:

<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML - $SubTitle</a></li> 

в случае все это звучит слишком сложным, вы должны действительно работать через SilverStripe учебники первый, см http://doc.silverstripe.org/framework/en/tutorials/

+0

Это будет примерно через неделю, прежде чем я могу попытаться impliment это. Спасибо вам, ребята. Выглядит полезно :) – ELF

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