Архив категории: ‘CMS’

Сайдбар в Livestreet – вывод и очередность блоков

Sunday, 15 Apr 12 в 23:41

Сайдбар в LivestreetТак уж сложилось, что тематика Livestreet завлекла меня еще на один день. Нельзя сказать, что это было приятное времяпровождение, просто я решил все же “добить” имеющиеся задачи и довести работу над блогом про гаджеты до конца. Собственно, своими знаниями за сегодня я с вами и поделюсь. Напомню только, что ранее в блоге вы также можете найти посты про шаблон Livestreet (+впечатления от системы), а также механизм добавления Sape в Livestreet.  Не следует переживать, что блог вдруг резко и надолго стал посвящен данной CMS – обещаю, сегодня последняя статья про нее:) Поговорим про сайдбар (боковую колонку) сайта.

Файлы шаблона для моего сайта находятся в директории /templates/skin/social-jquery. Действуя по законам логики я отыскал, как мне казалось, файл сайдбара sidebar.tpl, который в том же wordpress позволяет задавать отображение всех нужных блоков. На самом же деле в нем был совершенно стандартный и общий для системы код:

<div id="sidebar">
	{if isset($aBlocks.right)}
		{foreach from=$aBlocks.right item=aBlock}
			{if $aBlock.type=='block'}
				{insert name="block" block=$aBlock.name params=$aBlock.params}
			{/if}
			{if $aBlock.type=='template'}
				{include file=$aBlock.name params=$aBlock.params}
			{/if}
		{/foreach}
	{/if}
</div>

Методом тыка в той же директории /templates/skin/social-jquery нашел некоторые файлы, что могли мне помочь – блок тегов (block.tags.tpl), комментариев (block.stream.tpl) и т.п. В каждом из них можно было добавить свой код, например, для той же биржи Sape, но очередность и новые элементы мне не поддавались.

Для начала по простому добавил в конец сайдбара (файл sidebar.tpl) вывод тегов:

<div class="block stream" id="block_stream">
<div class="sidetags">
{insert name="block" block=tags} 
</div>
</div>

Как видите, это оказалось не сложно. Структура облака задана в block.tags.tpl, а код выше данный файл и отображает. Заметьте синтаксис: в insert – указываете имя block, а потом нужный вам элемент tags. По аналогии, думаю, можно выводить и остальные блоки, если понадобиться. Тем не менее, этот вариант не совсем правильный.

Расположение тегов в самом конце сайдбара меня не особо устраивало, хотелось поменять очередность блоков. Но в Livestreet новичку сделать это нереально сложно – экшены, модули, хуки, блоки, разбираться во всем этом можно вечно. Безусловно, я искал решение на тематических блогах и форумах, но перепробовав 4-5 вариантов, все равно ничего не добился. В принципе, создается впечатление, что решить ту или иную задачу можно разными способами, но разобраться в специфике CMS и шаблона так как это можно с wordpress не суждено. Под конец дня мне казалось, будто я пересмотрел добрую половину файлов системы и шаблона, перепробовав все, что только можно. К счастью, нужный вариант все же нашелся.

Заходим в файл системы config.php, который располагается в директории с таким же названием (config). Здесь есть следующий код:

$config['block']['rule_index_blog'] = array(
	'path' => array(
		'___path.root.web___/blog$',
		'___path.root.web___/blog/*$',
		'___path.root.web___/blog/*/page\d+$',
		'___path.root.web___/blog/*/*\.html$',
		'___path.root.web___/blog/*\.html$',
		'___path.root.web___/top(|(/.+))$',
	),
	'action'  => array(
			'index', 'new'
		),
	'blocks'  => array(
			'right' => array('stream'=>array('priority'=>100),'blogs'=>array('params'=>array(),'priority'=>150),'tags'=>array('priority'=>120))
		),
	'clear' => false,
);

Место с “blocks” задает какие именно блоки будут отображаться в сайдбаре (right), причем для каждого из них определяется приоритет. Есть список категорий (blogs), комментарии (stream) и теги (tags). Сами же файлы шаблона с HTML кодом отображаемого в этих элементах следует уже искать в директории шаблона – /templates/skin/social-jquery – block.blogs.tpl, block.stream.tpl, block.tags.tpl и т.п.

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

$config['block']['rule_tag'] = array(
	'action'  => array( 'tag' ),
	'blocks'  => array( 'right' => array('blogs','tags','stream') ),
);

Здесь, почему-то, в коде элементы сайдбара просто выводились по порядку без приоритетов. Много в Livestreet каких-то непонятных моментов. За примером далеко ходить не нужно. Выше я уже рассказал, что задал расположение блоков сайдбара для главной, а заодно и страницы категорий + теги. Попытки сделать что-то с полным отображением поста (топика) никак не завершались успехом. Признаться я уже было думал публиковать пост без этого, как в последний момент наткнулся на плагины.

Сначала пытался использовать в качестве “зацепки” тот факт, что на странице с постом отображается блок “Похожие статьи” (модуль similar), но просмотрев абсолютно все его файлы, ничего не нашел. И лишь потом меня осенило – а может все дело в модуле, который заменяет обычные URL страниц на красивые ссылки (NiceURL) – ведь в конфигах часто проскальзывала привязка в URL. И что бы вы думали – открываю директорию plugins/niceurl/config, в ней файл config.php и нахожу код:

/**
 * Настройка блоков для отображения на странице топиков
 */
$aBlocks=array(
	array(
		'group' => 'right',
		'name' => 'stream',
		'params' => array(),
		'priority' => 50,
	),
	array(
		'group' => 'right',
		'name' => 'blogs',
		'params' => array(),
		'priority' => 150,
	),
	array(
		'group' => 'right',
		'name' => 'tags',
		'params' => array(),
		'priority' => 100,
	),
);

Собственно, знакомые уже приоритеты и названия блоков – можно добавлять новые и менять их порядок. И главное по простому все так, с описанием и комментариями в коде… но скажите кто мог изначально догадаться, что пройдя путь от файлов шаблона, конфига самой Livestreet, нужно заглянуть именно сюда?

Поставив точку в эпопеи разбора шаблона Livestreet испытываю двоякие чувства. С одной стороны, маленькую крохотную радость, что все разрешилось, с другой – негодование от количества потраченного времени. Хотя проблема даже не во времени, а в том, что я встретил на своем пути. Чем-то это напомнило настройку VaM Shop, но там пришлось возиться исключительно с шаблоном, здесь же все намного сложнее, наворочено столько всего, что кошмар – переменные, настройки, коды слились воедино… Возможно специалисту разобраться не так сложно, но новичку… Новичку, я бы советовал дважды подумать, чем с этим связываться. Хотя для справедливости следует заметить, что поднять социальную сеть на других CMS может оказаться еще более сложной задачей. Ну и, конечно, Smarty – зло.

P.S. Скоро лето, а значит нас ждут отпуска, морские путешествия и пляжный отдых о котором мы все так долго мечтали длинными зимними вечерами, скорее бы уже!
На сайте Electrostancii.com.ua найдете интернет магазин где представлены дизельные генераторы и различные электростанции с подробным описанием и возможностью заказа.

Понравился пост? Подпишись на обновления блога по RSS для блоггеров и вебмастеровRSS, RSS для блоггеров и вебмастеровEmail или RSS для блоггеров и вебмастеровtwitter!

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

Monday, 09 Apr 12 в 13:16

Вчера провел буквально полдня за правкой шаблона 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. Для желающих заработать онлайн в последнее время актуально направление инвестирование в паммы где можно вложить свои деньги с максимальной выгодой и доходом.
Не знаете что подарить школьнику на день рождения? – возможно вариант купить телескоп будет не таким уж и плохим решением, а подтолкнет в стремлении изучать что-то новое.

Понравился пост? Подпишись на обновления блога по RSS для блоггеров и вебмастеровRSS, RSS для блоггеров и вебмастеровEmail или RSS для блоггеров и вебмастеровtwitter!

Настройка шаблона Интернет магазина на движке VaM Shop

Friday, 06 Feb 09 в 1:01

vam shop движок интернет магазинаЧем только я не занимаюсь, находясь в роли фрилансера. Вот нашлась работа по созданию и настройке Интернет магазина. Сделать нужно было быстро, поэтому вникать в изучение новой админки и движка не хотелось, а с VaM Shop был более-менее знаком. Именно поэтому остановился на нем. Вообще магазин VaM Shop основан на двух других osCommerce и xt:Commerce, является в некотором роде их модификацией. Плюсом для меня была полностью русифицированная версия системы и наличие небольшого архива с шаблонами (который я предварительного скачал в другом месте). Как потом оказалось, все не так просто.

Итак, найти движок VaM Shop вы можете на официальном сайте. Там также есть подробное описание системы, ее функций, примеры уже готовых магазинов и т.п. CMS имеется в двух вариация – платной и бесплатной. В первом случае вам придется заплатить $80, за что вы получите доступ к службе поддержки и обновлениям модулей на 1 год. По словам разработчиков, в демо версии кроме этих вещей также отключена функция отправки e-mail. У меня не было времени вникать во все эти тонкости, поэтому я нашел скрипт магазина VaM Shop на одном из специализированных форумов. Хотя, теоретически, наверное, можно было обойтись и версией с официального сайта.

Установка, в принципе, не сложная, занимает считанные минуты – в админке имеется доступный пошаговый мастер настройки. Дальше предстояла самая проблемная часть – подключение шаблона. Ведь на то, что отображается в Вамшопе по умолчанию, просто страшно смотреть:) Здесь есть несколько тонкостей, главная особенность которых заключается в разной структуре шаблонов для всех трех систем VaM Shop, osCommerce и xt:Commerce. Рассмотрим все варианты по порядку.

1. Использование стандартных шаблонов VaM Shop

Во-первых, на официальном сайте есть раздел, где можно скачать шаблоны для VaM Shop. Выбор, признаться, не велик, да и не поражает креативным подходом. Посудите сами:

стандартные шаблоны Vamshop

Зато установка занимает несколько секунд – вам просто нужно заменить файл стилей stylesheet.css и добавить новые картинки. Конечно, с таким подходом многое поменять не удастся.

2. Модификация шаблона из xt:Commerce для VaM Shop

Поскольку у обеих админок есть много общего, то и шаблоны у них кое в чем пересекаются. На сайте vamshop.ru в разделе статей вы можете почитать заметку о том, как шаблон от xt:Commerce переделать для  системы VaM Shop.  Судя по всему,  задача не сложная, но может занять определенное время из-за того, что придется править много файлов. Статья написана подробно и четко, вопросов возникнуть не должно.

Зато  шаблонов для xt:Commerce куда побольше, и вид у них более презентабельный. Несколько бесплатных вариантов вы можете найти здесь.

шаблоны xt:Commerce

3. Использование шаблона osCommerce для VaM Shop

Больше всего в Интернете можно найти шаблонов для osCommerce – как платных, так и бесплатных. Но и отличия с Вамшопом у них огромные, описание основных из них можно почитать здесь. В VaM Shop используются Smarty шаблоны, где код разделен на 3 слоя – php html css, которые друг от друга отделены (подробнее – тут). А макет osCommerce состоит из набора php файлов. Поэтому просто перезалить имеющийся архив с файлами на FTP, увы, не получилось. Рассказываю алгоритм действий.

Шаблоны у VaM Shop находятся в папке templates, причем там имеется 2 версии верстки – с DIV`ами и таблицами. Поэтому первым делом, вам нужно определиться с каким из них будете работать. После этого создаете копию выбранного шаблона и записываете ее на FTP в новую директорию, например templates/my-new-template/. Теперь все изменения будете проводить только в ней. В самой админке, кстати, не забудьте выбрать новый шаблон в качестве используемого – это делается в меню «Настройки» – «Основные» – «Мой магазин», поле «Шаблоны».

Как правило, шаблоны для osCommerce содержат кроме кода еще и PSD файлы. Собственно, если у вас есть опыт верстки – можете использовать для работы исходники. Я поступил несколько иначе – установил на локальном компе osCommerce, благо там также весь процесс очень простой. Затем сменил в нем шаблон на нужный мне – тут обошлось простой перезаписью старых файлов. После чего подгонял шаблон VaM Shop под работающий магазин на osCommerce. Да, сложно – но другого варианта я лично не нашел. Разгребать php файлы шаблона osCommerce, думаю, было бы намного дольше, а так у меня был готовый магазин, где уже можно было видеть HTML код макета. Вот, кстати, некоторые из шаблонов (опубликую сегодня-завтра парочку из них на Дизайн Мании):

osCommerce шаблоны интернет магазин

Просидев пару дней за шаблоном, я уже было начал жалеть, что не установил osCommerce, но не знаю, сколько бы времени тогда потратил на изучение локализации и установку разных модулей. Последнее, что хотелось бы заметить – не нужно путать VaM Shop с osCommerce by VaM – это разные вещи:) Вообще этих магазинов развелось ужасающе много, как по мне.

Кстати, вопрос к читателям – с какими движками интернет-магазинов приходилось сталкиваться и что посоветуете из бесплатных решений?

P.S. Сенсация! 500 баксов в сутки – это реальность!

Советую также взглянуть на просто огромный софт архив – ежедневное обновление, свеживе версии, только легальный софт (без вареза)!

Если кто не слышал, то сейчас проходит конкурс блогеров линкомаулия – опять Маул раздает много денег:)

Читаем также последние трансферные новости футбола – Аршавин таки в Арсенале.

Понравился пост? Подпишись на обновления блога по RSS для блоггеров и вебмастеровRSS, RSS для блоггеров и вебмастеровEmail или RSS для блоггеров и вебмастеровtwitter!
Страница 1 из 212