0.00
Рейтинг
0.04
Сила

Как обработать своей функцией?

Вопрос наверное больше относится к Смарти, но всё же.

Есть у меня темплейт, например, topic.tpl, отвечающий за вывод топика. В нём есть всякие конструкции типа:
{$oTopic->getTitle()|escape:'html'}

То есть, вроде как, функции в некотором виде оттуда вызывать можно, но добавить свою нельзя, хоть она и стандартная PHP’шная. То есть, в моём случае, было бы удобно сделать как-то так:
{$oTopic->urlencode(getTitle())}

Так не получается. Я понимаю, что есть какое-то место, где функция создаётся (если она своя), другое место, где она как-то переопределяется, чтобы вызываться без параметров (?), но где это всё я так и не нашёл.

Теперь вопрос: как мне добиться того, чтобы urlencode() заработал?

Борьба с 502 bad gateway или как установить xcache на 0.4.2

Итак после долгих мытарств и по мотивам livestreet.ru/blog/questions/5335.html решил написать как установить xcache на LS 0.4.2. Мне установка xcache реально помогла в решении проблемы ошибки 502 и в целом для более стабильной работы сайтов. Итак поехали:
Первым делом убираем memcache и eaccelerator. Я не стал ничего удалять из системы, просто закомментировал в php.ini строки относящиеся к eaccelerator, аналогично в /etc/php5/conf.d/memcache.ini также все закомментировал. Наверное это неправильно, кто знает как совсем удалить отпишитесь в каментах.

Теперь собственно установка xcache:

apt-get install php5-xcache


Установили, теперь настраиваем:
nano /etc/php5/apache2/conf.d/xcache.ini


Редактируем секцию админки:
Читать дальше →

"AdSense для Юзеров" цена 2,5$

Позволяет пользователю размещать свой блок AdSense в постах.

Призван стимулировать юзеров писать посты и поддерживать активность в комментариях к своим постам.

Достаточно в профиле указать свой идентификатор в системе AdSense вида pub-8445767903457946.

5$ 2,5$

Кнопки: В заметки Вконтакте,Мой мир,Facebook,Twitter

<a href="http://vkontakte.ru/share.php?url={if $oTopic->getType()=='link'}{router page='link'}go/{$oTopic->getId()}/{else}{$oTopic->getUrl()}{/if}" rel="nofollow" target="_blank"><img src="{cfg name='path.root.web'}/templates/skin/new/images/bookmarks/vkontakte.gif" title="Добавить заметку в Вконтакте"></a>

Читать дальше →

Плагин "Nice URL"

Плагин «Nice URL» приводит URL топиков к ЧПУ. Например, /blog/bugreport/123.html преобразует в /problema-pri-ustanovke.html. Это будет полезно тем, кто верит, что такие урлы способствуют продвижению сайта в поисковых системах.

Плагин доступен для скачивания в нашем каталоге — livestreetcms.com/addons/view/46/

UPDATE 1: Плагин обновился до версии 2.0
Изменения:
1. При активации пересохраняет все топики для перевода названия в транслит
2. Исправлен баг с переопределением экшена blog через $config['router']['rewrite']
3. И главное — произвольная настройка шаблона для URL, используя переменные: %year%, %month%, %day%, %hour%, %minute%, %second%, %login%, %blog%, %id%, %title%. Настройки находятся в в конфиге плагина.

Тестируем и отлавливаем баги.

UPDATE 2: Плагин обновился до версии 2.1
Изменения:
1. Для персонального блога можно указать логин автора
$config['url_personal_blog'] = '%login%';
2. Фикс проблемы с блоками на странице топика — необходимые блоки нужно указать в конфиге плагина

PS: если LS установлен в подкаталог и при переходе на топики возникает 404 ошибка, то необходимо применить этот фикс движка — trac.lsdev.ru/livestreet/changeset/1033

Бесплатная тема для LiveStreet - Nj.

Доделываю потихоньку новую бесплатную тему оформления для LiveStreet — Nj.

После отлова всякого рода багов, будет выложена в каталоге модулей для LiveStreet.

Данный шаблон вы можете наблюдать непосредственно на Njournal.ru. Просьба обо всех багах писать в этом топике, здесь же пишите предложения по дизайну.
(шаблон сделан на основе шаблона new и шаблона для wordpress)

Шаблон выложен в каталоге «Nj».
(Изначально назывался Yaall, но окончательно Nj).

Добавляем возможность гостевого комментирования топиков

Тестировалось на LS 0.4, но, думаю, пойдет и на более старших версиях.

У вас должен быть в базе пользователь с ником Guest!

Открываем файл /classes/actions/ActionBlog.class.php
Находим функцию SubmitComment()
заменяем в ней:
if (!$this->User_IsAuthorization()) {
	$this->Message_AddErrorSingle($this->Lang_Get('need_authorization'),$this->Lang_Get('error'));
	return;
}

на:
if (!$this->User_IsAuthorization() and (getRequest('is_guest') != '1')) {
	$this->Message_AddErrorSingle($this->Lang_Get('need_authorization'),$this->Lang_Get('error'));
	return;
}

$guest = false;
if (getRequest('is_guest') == '1') {
	if (!isset($_SESSION['captcha_keystring']) or $_SESSION['captcha_keystring']!=strtolower(getRequest('captcha'))) {
		$this->Message_AddError($this->Lang_Get('registration_captcha_error'),$this->Lang_Get('error'));
		$bError=true;
		return false;
	}
	unset($_SESSION['captcha_keystring']);
	$this->oUserCurrent = $this->User_GetUserByLogin('Guest');
	$guest = true;
}


Читать дальше →

Апгрейт плагина социальных кнопок для постов (проверено на 0.4.2)

Плагин «Социальные заметки (В контакте, Мой мир, Facebook, Twitter)» сейчас позволяет добавить к топику кнопки такого вида.


Если кто-то хочет новую кнопку Твиттера, ниже инструкция.

Там всё просто.
Читать дальше →

Livestreet: дао разработчика - 2

Первая часть цикла

Дао — это действие, процесс, поток. Чем чаще вы смотрите на код других плагинов, тем больше вы понимаете, как делать свой.
Накачайте плагинов под 0.4.2 и расматривайте, что у них внутри. Без этого вы не сможете начать писать свои плагины.

Я сделал типовой шаблон, из которого удобно делать свои собственные плагины. Располагается он тут:
http://github.com/medar/livestreetplugin
Чтобы скачать его, надо нажать в правом верхнем углу кнопку «Download Source». Желающие могут форкать и вносить изменения.

В файле находится «рыба» плагина с названием abcplugin.
Читать дальше →