Онлайн заработок, создание и монетизация сайтов, веб-разработка, SEO и SMO продвижение, фриланс, партнерки, полезные сервисы вебмастерам, блоггинг.

Wordpress шаблоны
Главная » Web разработка » CMS » Настройка и шаблоны Livestreet, добавление кода AdSense и впечатления

Настройка и шаблоны Livestreet, добавление кода AdSense

Вчера провел буквально полдня за правкой шаблона Livestreet и знакомством поближе с данной CMS. Спешу поделиться некоторыми впечатлениями и наработками. Система, в принципе, не новая, в далеком 2008 я уже писал про Livestreet. Тогда она только начинала свой долгий и тернистый путь, вроде даже было время когда создатель искал на Хабре кому бы ее передать. Как бы там ни было, сейчас Livestreet стала более мощной, узнаваемой и серьезной. По крайней мере визуально, по набору модулей и последним новостям все об этом свидетельствует, но так ли это на самом деле.

Livestreet

В этот раз с CMS я столкнулся при покупке сайта на Telderi. Проект меня заинтересовал и я подумал, что с Livestreet особо проблем не возникнет, система развивается и поддерживается. Добавлять самостоятельно после покупки какую-то функциональность не видел смысла, шаблон был более-менее настроенным. Хотя, признаться, на деле все оказалось немного сложнее, чем я ожидал.

Сразу же начались какие-то непонятные проблемы с кэшем и правами доступа по FTP. В полученном мною ReadMe был совет пройти по ссылке и очистить кэш, но я не мог из-за ошибок даже войти в админку. Через какое-то время «методом тыка» и расстановкой прав 777 на директории, которые упоминались в выводимых ошибках. Случайно от проблемы удалось избавиться — это было также неожиданно как и ее появление.

Основные параметры задаются в файле/config/config.local.php, где требуется ввести доступы на БД и путь к корневой директории сайта:

$config['db']['params']['user'] = 'DB username';
$config['db']['params']['pass'] = 'DB pass';
$config['db']['params']['type']   = 'mysql';
$config['db']['params']['dbname'] = 'DB name';
$config['db']['table']['prefix'] = 'prefix_';
$config['path']['root']['web'] = 'http://mysite.ru/';
$config['path']['root']['server'] = '/var/www/v-8129/data/www/mysite.ru'; /* полный путь к корневой директории)*/

Казалось бы, ничего сложного и все типично, но это единственно, что было тривиальным и понятным. В данном файле, как и многих других, часто встречаются множество конфигов и настроек, непонятно для чего и как используемыми. Да, везде в коде есть комментарии на русском (за что спасибо разработчикам), но основная сложность это найти нужную вам опцию среди сотен файлов.

Настройки для Livestreet

Далеко за примером ходить не нужно. Я просто решил изменить количество номеров страниц для отображения на странице с выводимыми записями. В конфиге этого не оказалось, поэтому пришлось гуглить решение — и как хорошо, что кто-то им поделился (иначе я бы никогда не додумался). Вам «всего лишь» нужно зайти в директорию /classes/actions где в файле ActionIndex.class.php отыскать строку

$aPaging=$this->Viewer_MakePaging($aResult['count'],$iPage,Config::Get('module.topic.per_page'),30,Router::GetPath('index'));

… и указать нужное число страниц. Без подсказки это было бы нереально найти. Решение, мягко говоря, не user friendly.

А потом мне захотелось изменить количество отображаемых тегов в облаке, что выводится на сайте. Опять же начал искать настройки в конфиге, шаблоне, но тщетно. Оказывается нужно было зайти в директорию / classes/blocks, где в файле BlockTags.class.php изменить строку:

$aTags=$this->oEngine->Topic_GetOpenTopicTags(55);

Кроме классов и экшенов в Livestreet есть еще и хуки и модули. Файлов очень много, отыскать нужную тебе настройку чертовски сложно. А еще Smarty (или как их там) шаблоны… где тоже есть конфиги, настройки, экшены. Безусловно, если ты первый раз видишь новую CMS, то не нужно ожидать, что за 10-20 минут «раскусишь» всю ее структуру и принципы работы. Тем не менее, в wordpress все как-то на несколько порядков все проще — вводишь название функции в поиске и находишь описание в кодексе с максимумом полезной информации.

О Livestreet  шаблонах…

Шаблон для Livestreet состоит из множества файлов, впрочем как и для WordPress, но здесь их куда больше. Сопоставляя количество блоков, что отображаются на сайте, и просматривая файлы шаблона, состоящие из 2-3 строк кода, кажется, что все это можно было организовать куда более кратко. В принципе, логика при рассмотрении файлов шаблонов немного помогает, и можно определить какой файл за что отвечает, например:

  • header_top.tpl — шапка сайта с некоторыми ее элементами.
  • topic_topic.tpl — шаблон для пост (записи) блога.
  • sidebar.tpl — вроде какого-то «общего» файла сайдбара, где находится  «стандартный» код для вывода блоков. Судя по описанию он обязателен. Фактически же информация в сайдбаре выводится через block.stream.tpl.

Вообще с блоками там опять же все немного запутанно. По форумам я понял, что вроде можно в каком-то файле настроек в одной строке быстро поменять расположение блоков сайдбара — для чего и используется «общий стандартный» код. Но где искать эту настройку + как называются блоки — по моему, проще в одном из файлов поменять местами соответствующий код.

Если вы хотите добавить код AdSense или скрипты, например, для счетчиков, то нужно заключать код в блоки {literal}{/literal}. Допустим нам нужно выводить код Adsense после заголовка, но только на странице с полным текстом записи (на главной его быть не должно). Для этого заходим в файл шаблона для поста topic_topic.tpl, находим место после заголовка и добавляем следующий код:

{if !$bTopicList}
<div class="postads">
{literal}
Ваш код Google Adsense
{/literal}
</div>
{/if}

Чисто случайно удалось выяснить, что указанное выше условие проверяет выводится ли пост полностью (метод тыка и немного наблюдений не раз спасали). Сохраняем шаблон, загружаем его обратно на FTP и проверяем как все работает. Со стороны, конечно, все это кажется простым, но это лишь тогда, когда знаешь что где искать и как использовать.

Общие впечатления

В качестве вывода поделюсь некоторыми своими впечатлениями. Определенно Livestreet — продукт очень интересный, хорошо, что есть такая CMS и она развивается. Если бы мы говорили о создании проекта тематической социальной сети, то возможно это было бы оптимальным решением. В качестве альтернативы на ум приходит лишь Drupal, где разобраться, думаю, было бы еще сложнее и WordPress, в котором потребовалось бы также немало времени на воссоздание требуемого функционала соц.сети. При этом установить Livestreet в общем случае кажется более быстрым и простым решением.

Что не очень понравилось. Во-первых, это, конечно, сложность настройки и разобщенность всех опций, если можно так выразиться. Все это должно управляться из админки, причем сразу. Возможно (наверняка) есть модули, которые позволяют визуализировать большую часть настроек системы, но это должно входить в базовую установку. Помнится, всегда в TYPO3 было много жалоб на недружелюбный интерфейс, но там мне изначально казалось все более наглядным и логичным, нежели здесь.

Вторым еще более печальным моментом для меня стало знакомство с модулями. Соответствующий раздел на сайте разработчиков сделан очень красочно и функционально, но из всех плагинов 1/3 оказалась платными, причем самая интересная часть. Как-то это немного пошатнуло мои представления о бесплатных open source cms. Опять же из личного опыта приходит сравнение с TYPO3 CMS, где можно найти более 4000 бесплатных расширений (модулей). Да, там система намного старше и серьезнее, есть фонд, официальная организация, но за все время знакомства с ней принципы бесплатного ПО так и «витали в воздухе» — люди вкладывали свои силы, время, деньги чтобы другие могли насладиться результатами. Это в свое время мне безумно нравилось и подкупало, тотальный open source. Может, конечно, нашим разработчикам живется сложнее или еще по каким-то причинам, тем не менее, эти платные плагины меня просто разочаровали. Надеюсь дальше у Livestreet все будет развиваться лишь в лучшую сторону. Спасибо создателям Livestreet и разработчикам другой 2/3 бесплатных плагинов и всем, кто вкладывается в развитие системы.

P.S. Не знаете что подарить школьнику на день рождения? — возможно вариант купить телескоп будет не таким уж и плохим решением, а подтолкнет в стремлении изучать что-то новое.

09.04.12

Категории: CMS.

Теги: , , , , ,

8 Comments
  1. Plazik

    Если вам действительно нужен настоящий опен сорс, то друпал будет наилучшим вариантом. Мне встречались только всего несколько платных модулей, остальные все бесплатны.

  2. Tod

    Plazik, согласен, друпал, типо3, вордпресс, конечно, системы другого (мирового) уровня, там возможности мощнее и бесплатное почти все. Но в том же Друпале разобраться со всеми тонкостями, думаю, не так и просто, есть свои нюансы и т.п.

  3. Сергей Шелвин

    Я бы еще добавил, что LiveStreet тяжелый в плане нагрузки на хостинг.

  4. Алексей

    Сейчас ищу систему с возможностью подписки на определенные категории информации (на подобии хабра). И на удивление ничего простого из коробки нет.
    Друпал — 14 видео туториала по «органик групс». Вордпресс — не нашел такого функционала. Лайвстрит, как вижу, пилить нужно.
    Неужели фильтрация контента на стороне пользователя такая редкая фича? Мда…

  5. Tod

    Алексей, вообще-то в wordpress есть такая функциональность по умолчанию, просто нужно добавить в конец ссылки категории слово feed например /category/video/feed/. Единственное, что нужно смотреть совместимость этого с feedburner, если не используете, тогда все просто и как раз из коробки.

  6. Алексей

    Кривовато, видимо, выразился) Имелось в виду что-то типа «Моей ленты» в lookatme. Т.е. не уходя с сайта иметь возможность выбора/чтения двух-трех информационных лент из десятков. У всех систем это по разному выглядит и называется, вот и выходит путаница.
    Сегодня еще поискал — возможно подойдет платный шаблон лайвстрита. Будем посмотреть.

  7. Сергей Шелвин

    @ Алексей, подобная лента есть в LiveStreet по умолчанию.

  8. zedget

    ЛС ещё слишком молодая КМС чтобы описать полную картину, все ещё впереди. Только 1.0 версия вышла в этом году.

Добавить комментарий

Ваш e-mail не публикуется. Обязательные поля помечены *
Если вы комментируете впервые, то текст будет отправлен на модерацию.