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

Обязательные поля профиля (модификация)

Некоторым администраторам может понадобиться требовать с пользователя не только логин, адрес электронной почты и пароль, а другую информацию. Для моего проекта потребовалось «спрашивать» с (пока ещё) анонимуса фамилию и имя. Предлагаю вниманию простое решение данной задачи.
Читать дальше →

Блок "Похожие темы"

Очень не хватало блока «похожие топики».

Решил быстренько написать, но потратить времени, пришлось больше, чем я предполагал.

Модуль брать тут

Процесс установки:
1. Выполнить SQL запрос (для добавления нужного индекса. схожесть тем ищем сразу по двум полям title и tags):
alter table prefix_topic add fulltext key `title_tags` (topic_title, topic_tags);

2. Содержимое каталогов classes/ config/ и templates/ копируем (со всеми подкаталогами) в корневой каталог сайта где установлен LiveStreet.

3. Скопировать файл templates/skin/new/block.similarTopics.tpl в каталог активного скина.

Количество выводимых тем можно настроить в файле config/modules/similartopics/config.php.
SIMILARTOPIC_COUNT — количество выводимых тем (по умолчанию 5)
SIMILARTOPIC_SCORE — минимальное количество баллов, при котором тема считается похожей. рекомендуется выше 3-4, но на небольших сайтах можно и пониже. (по умолчанию 3).

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

Добавляем количество просмотров топику

Многие хотели, но не знали как доковырять, показываю на простом примере.

Открываем файл Topic.class.php
И добавляем перед закрытием класса функцию
/**
	 * Обновляем топик без всяких примочек
	 *
	 * @param TopicEntity_Topic $oTopic
	 * @return unknown
	 */
	// 
	public function SetTopicCountRead(TopicEntity_Topic $oTopic) {		
		$this->oMapperTopic->UpdateTopic($oTopic);
		$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('topic_update',"topic_update_{$oTopic->getId()}"));
	}

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

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