Последнее обновление: 10.02.2013 в 21:16
Подпишись на RSS
rss Подпишитесь на RSS, чтобы всегда быть в курсе событий.

Комментарии

Присоединяйтесь к обсуждению
  • Евгений: Доброго времени суток. Кто-то подскажет, как правильно настроить вывод мета-тэгов в результатах поиска. На...
  • Евгений: Доброго времени суток. Возник вопрос по специфике движка SilverStripe. Есть основное зеркало сайта вида...
  • Вадим: Спасибо помогло, сделал так date_timezone = Europe/Kiev
  • John Doe: Не помогло, шаблон все ровно всегда такой же как у главной страницы ((
  • Алексей: Здравствуйте. Спасибо за статью. Собираюсь осваивать MODx (сейчас сижу на WP) и статья очень пригодилась!...
2 Май 2012 · MODx

Недавно столкнулся с ситуацией, описанной в заголовке статьи. При изменении шаблона, страница перегружается и шаблон остается таким как был до изменения. Поиск по рунету ни чего особенного не дал, сложилось ощущение, что о проблеме знают давно, но как решать все молчат. Порывшись по просторам сети нашел весьма неожиданное решение. Идем в системные настройки(System settings), Ищем [...]


8 Май 2011 · MODx, о работе, Проекты

Если верить статистике моего блога, то самой часто посещаемой статьей остается руководство по созданию шаблонов А совсем недавно появилась идея, а почему бы не сделать шаблоны для MODx в стиле joomla скачал пакет, кликнул несколько раз мышкой и всё новый дизайн для сайта установлен. Тем более, что возможности в MODx Revo для этого имеются. А [...]


18 Ноябрь 2009

SilverStripe тема оформления,меню и контент

Рубрика: SilverStripe, Проекты. Метки:
Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...

Итак, вчера начал устанавливать на сайт новую тему, а если быть точным собирал свою из шаблона взятого здесь

Из за отсутствия в SilverStripe возможности конфигурирования системы после её установки, пришлось немного порыться по файлам и документации на систему(докментация к стати весьма не плохая).

Итак для того что бы сменить тему оформления в CMS SilverStripe в каталоге mysite находим файл _config.php и ищем внем строчку SSViewer::set_theme комментируем её и добавляем новую с указанием имени вашей темы в моем случае это

SSViewer::set_theme('testteam');

в каталоге /themes/ создать новый каталог в моем случае testteam берем зараннее скачанный шаблон копируем папки images и css в свежесозданную директорию
создаем папку templates и в ней файл Page.ss. Cкопируем в него для начала содержимое index.html файла найденного шаблона. Смотрим в браузере на результат своей работы… Упс. Забыли отчистить кэш, добавляем ?flush=1 к адресной строке.
Помогло, в браузере отобразилось содержимое файла но в нем нет ни стилей ни картинок, вспоминая опыт работы с MODx,где то должен задаваться базовый URL.
Точно, после некоторых поисков по документации находим, как задать базовый путь для сайта. После открывающего тега вставляем

<% base_tag %>

Для импорта css файлов, используем следуюшую инструкцию

<% require themedCSS(style) %>

заменяем путь для картинок.
src=»images/имя картинки» -> src=»themes/testteam/images/имя картинки»
И смотрим в браузере на результат, точная копия того, что было :)
НАВИГАЦИЯ
В папке templates cоздаем подпапку Includes в которой размещаем файл Navigation.ss содержимое файла приведено ниже

<ul>
<% control Menu(1) %>	  
<li><a href="$Link" title="Go to the $Title.XML page"class="$LinkingMode"><span>$MenuTitle.XML</span></a></li>
<% end_control %>
</ul>

Попробуею описать, что происходит в этом фрагменте кода

Menu(1) — ищет все элементы меню первого уровня возвращает множетсво элементов

<% control Menu(1) %> — эта конструкция для каждого из элементов множества вызывает код, заключенный между <% control Menu(1) %> и <% end_control %> и определяет свойства данного объекта, как переменные шаблона

<li><a href="$Link" title="Go to the $Title.XML page"class="$LinkingMode"><span>$MenuTitle.XML</span></a></li>

Собственно код элемента, описывающего пункт меню. Переменный $Link,$Title,$MenuTitle определяются для каждого элемента отдельно в конструкции <% control Menu(1) %>. Что значит модификатор XML я пока не разобрался, но как только узнаю сразу напишу.
В файле Page.ss часть кода:

<ul>
<li class="current_page_item"><a href="index.html">home</a></li>
<li><a href="blog.html">blog</a></li>
<li><a href="xhtml-elements.html">xhtml</a></li>
</ul>

Заменяем на:

<% include Navigation %>

и смотрим в браузере, что получилось.
Контент
В системе на сколько я понял существует Такая вещь как слой(Layout), позволяющая отобразить информацию в зависимости от типа страницы содержащаяся в переменной $Layout. Создадим в папке templates подпапку Layout В которой создаем файл Page.ss
Содержимое файла:

<br />
<div class="typography">
<h2>$Title</h2>
		$Content
		$Form
		$PageComments
</div>

Где $Title заголовок страницы
$Content собственно сам контент
$Form форма добавления коментария
$PageComments добавленные коментарии
Вставляем в главном шабоне Pages.ss в каталоге templates между строками и $Layout, а то, что было там раньше удаляем. Смотрим в браузере на результат. Про ключик flush=1 вы надеюсь не забыли.
Резюме
Сегодня, а таки сделал на SilverStripe свою собственную тему оформления,меню первого уровня и вывод контента пользователю.

Завтра попытаюсь сделать меню второго уровня и постараюсь приделать поиск + надо узнать что за модификатор XML используется при создании меню.

Читайте так же:



  • admin

    За качество кода заранее извиняюсь, надо поискать плагин к WordPress, который позволяет нормально форматировать код

  • http://mrezhin.ru Сергей

    Admin, будем ждать твоих новых обзоров SilverStripe (сейчас ее тоже «ковыряю») прикольная штука эта cms, впрочем как и MODx

    • admin

      Сергей, можем «ковыряться» вместе если есть вопросы по системе или интересные идеи пишите. Одна готова хорошо а две лучше…

      • http://mrezhin.ru Сергей

        Согласен!

  • http://Сайт Chandler

    Доброго времени суток admin!

    Можете помочь мне в одном вопросе?

    с главным меню сайта. Дело в следующем: Мне нужно присвоить класс для активного пункта меню. Честно говоря не получается вообще никак((..

    Если знаете подскажите как должна выглядеть эта конструкция?

    • http://loom-studio.net Денис

      За выходные постараюсь написать статью про работу с меню в SS и скину вам ссылку.

    • Аноним

      За выходные статью написать не получилось :( но решение проблемы нашел

      /*здесь у нас ссылка на активный элемент*/
      $Title

      /*здесь у нас ссылка на не активный элемент*/
      $Title

  • Евгений

    Доброго времени суток.
    Возник вопрос по специфике движка SilverStripe.

    Есть основное зеркало сайта вида http://www.mysite.com
    Нужно было прикрутить к каждой странице сайта в конце слеш, т.е. привести к виду: http://www.mysite.com/category/page-1/

    В начало файла .htaccess добавили пару строк переадресации:
    RewriteCond %{REQUEST_URI} /+[^.]+$
    RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301, L]

    Переадресация сработала на ура. Но из-за внутренней переадресации самого движка теперь мы не можем попасть в закрытые разделы сайта (админку и пр.).

    Базовая переадресация самого движка:

    SetEnv HTTP_MOD_REWRITE On
    RewriteEngine On
    RewriteBase ‘/’

    RewriteRule ^vendor(/|$) — [F,L,NC]
    RewriteRule silverstripe-cache(/|$) — [F,L,NC]
    RewriteRule composer.(json|lock) — [F,L,NC]

    RewriteCond %{REQUEST_URI} ^(.*)$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !.php$
    RewriteRule .* framework/main.php?url=%1&%{QUERY_STRING} [L]

    Помогите, плиз, разобраться.

Мы плетем паутину
Создание сайтов для меня это не просто работа, это то, что больше всего мне нравится в этой жизни. Я постояно учусь новому и кое-что попадает на страницы этого блога. Сюда же я выкладываю свои мысли о жизни. Заходите, читайте, спрашивайте.

Счетчик