-9.75
Рейтинг
1.61
Сила

Очистка кеша

Не нашел ответа, посему пишу сюда.
Поставил Шаблон, немного нужно было его подредактировать, — сделал так:
$config['compress']['css']['merge'] = false; 
$config['compress']['css']['use']   = false;

Добавил пару плагинов, в том числе этот, для которого тоже немного поковырял код.
Остался доволен, решил вернуть кеширование, удалив все кеши через AceAdminPanel + чистил руками /tmp, /compiled, /cash, но все равно результат не достигнут((( верстка немного плывет, то есть применились не те стили в новом кеше. Подскажите пожалуйста куда копнуть.

Система блоков - расставляем точки...

Была потребность разобраться с системой блоков. Очень много чего перечитал с сайта. Например, Система блоков. Ниже будет краткое изложение полученных знаний. Попытаюсь рассказать про систему блоков простым языком, чтобы и новички поняли.

Самое главное, что я выяснил:
1. Блоки можно создавать самостоятельно.
2. Блоки можно размещать в произвольном месте страницы (нужно заранее указать эти места)
3. Блоки могут отображаться в зависимости от Action'ов и Event'ов
4. Блоки могут отображаться в зависимости от адреса страницы. Адрес страницы можно задать с помощью регулярных выражений.
Итак, основные моменты.
Читать дальше →

Выводим в Top блогов количество постов вместо рейтинга.

Возникла задача выводить в блоке Tоп блогов вместо абстрактного рейтинга количество постов. Актуально для новых сайтов или неактивных комьюнити.



Для начала находим Экшен блока. Структура LS подробно описана, поэтому легко находим нужный блок: /classes/blocks/BlockBlogs.class.php В блоке вызывается единственная функция: Blog_GetBlogsRating, с ней и будем работать.

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

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

Статус пользователя.

Хочу на своём сайте сделать статус пользователя в профиле.

Например, если рейтинг пользователя больше или равен 0, но меньше 5, то
0 — 4,99 — Бронзовый пользователь.
Если рейтинг пользователя больше или равен 5, но меньше 10, то
5,00 — 9,99 — Серебренный пользователь.
Если рейтинг пользователя больше или равен 10, но меньше 15, то
10 — 14,99 — Золотой пользователь.

Куда и какую строку вписать? Может кто подскажет?
Буду очень благодарен.

Показываем, что пост новый



Продолжая тему извращений над возможностями шаблонизатора, хочу предложить вам легкий способ указать на то, что пост новый. То есть, если посту меньше суток, то выводится определенная надпись, например — «Новый пост!». Идея древняя как мир, но раз для других CMS делали такие фичи, то, возможно и здесь кому-то она пригодится.

Все делается элементарно — в файлах topic_link.tpl, topic_photoset.tpl, topic_question.tpl, topic_topic.tpl вашего шаблона после даты добавления поста вставляем следующий код:
{if (time() - strtotime($oTopic->getDateAdd()))<86400}<span style="color:green;">New Post!</span>{/if}


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

Валидация данных в LiveStreet 0.6

В транковую версию LS на github.com добавлен новый функционал — валидация данных и полей сущностей. Этот функционал призван заменить функцию func_check(). За основу был взят функционал валидации Yii.

На данный момент доступны следующие типы валидации:
  • Boolean — проверка значения на булевый тип
  • Date — проверка значения на формат даты и времени
  • Email — проверка корректности емайл
  • Inline — валидация произвольным методом сущности или другого объекта
  • Number — проверка на числа
  • Required — проверка на пустое или конкретное значение
  • String — проверка строк на длину
  • Type — проверка на тип значения
  • Url — проверка на корректность URL


Как использовать

В сущности необходимо составить список правил валидации.
class PluginTest_ModuleMain_EntityTest extends Entity {

	protected $aValidateRules=array(
		array('login, name','string','max'=>7,'min'=>'3'),
		array('title','my','on'=>'register'),
	);

	public function ValidateMy($sValue,$aParams) {
		if ($sValue!='Мега заголовок') {
                    return 'Ошибочный заголовок';
                }
		return true;
	}
}


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

Вопрос о автоапредлении мобильника

Добрый в всем!
Вопрос в следующем: необходимо определить от куда клиент зашел: если с мобильного, то показывать ему мобильную, версию; если с настольного — то основной шаблон. Есть ли у кого какие-нибудь соображения?
В результате изысканий (своих и сообщества) сделаю плагин (free).
Заранее спасибо всем за помощь.

UPD: Плагин
на mail-е

Плагин «Похожие записи в попап окне (Similar topics in popup)», Версия 1.0.3



Плагин обновлен к 1.0.3 версии, где улучшен/пофикшен алгоритм появления попап окна, теперь оно точно показывается в нужный момент (раньше в некоторых случаях была задержка).

Этот плагин в каталоге.
Мои контакты.

Объединил фотосет и топик

Решил Объединить фотосет и топик.
Возникла одна проблема, при изменении минимального числа фото до 0 вместо 2
$config['module']['topic']['photoset']['count_photos_min'] = 0; // минимальное количество фоток

То есть захотел человек загрузить галерею загружает, нет значит нет, просто вставляет фотки по одиночке в редакторе, заполняет контентом и сохраняет топик.

Так вот без загрузки фотографий, сохранить топик не получается, необходимо хотя бы одну фотку загрузить если ($config['module']['topic']['photoset']['count_photos_min'] = 1;)

Ошибка выходит такая:
Notice: Undefined offset: 0 in Z:\home\localhost\www\S\classes\actions\ActionPhotoset.class.php on line 473
[Денвер: показать возможную причину ошибки]
Fatal error: Call to a member function getId() on a non-object in Z:\home\localhost\www\S\classes\actions\ActionPhotoset.class.php on line 475

где 473 и 475:

if (!($oPhotoMain=$this->Topic_getTopicPhotoById(getRequest('topic_main_photo')) and $oPhotoMain->getTargetTmp()==$sTargetTmp)) {
473 $oPhotoMain=$aPhotos[0];
}
и

475 $oTopic->setPhotosetMainPhotoId($oPhotoMain->getId());