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

Комментарии

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

Часто слышу от родных и друзей  вопрос: «А зачем тебе все это?». Зачем эти бессонные ночи и долгие часы работы в сети ради, зачастую смешной прибыли, а то и просто за просто так. Ну что же отвечу на этот вопрос…Во-первых, я не такой бескорыстный как кажется иногда гораздо выгоднее разместить на сайте ссылку сюда или [...]


25 Июнь 2011 · MODx, Проекты

Раннее, я уже упоминал библиотеку для работы с Excel файлами PHPExcel. Недавно пришлось для нескольких сайтов возможность отображения данных из Excel файла. Далее этот процесс расписан по шагам. Для профессионалов эта статья вероятно не откроет ни чего нового, но вот для тех, у кого есть время только на ответы она может быть полезной Итак, для [...]


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]

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

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

Счетчик