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

Nomen Nescio

Плагин Groups - создаем группы пользователей


По многочисленным просьбам сделал плагин. Позволяет администратору сайта создавать группы и присваивать юзеру определенную группу. В понимании этого плагина, группа — всего лишь красивая надпись под ником пользователя с картинкой 12x12px.
Админка находится по адресу %sitename%/groups/

После активации плагина пропишите в шаблоне whois.tpl строчку
{hook run='user_group' oUserProfile=$oUserProfile}
после
<img src="{$oUserProfile->getProfileAvatarPath(100)}" alt="avatar" class="avatar" />
<p class="nickname">{$oUserProfile->getLogin()}</p>
{if $oUserProfile->getProfileName()}
	<p class="realname">{$oUserProfile->getProfileName()|escape:'html'}</p>		
{/if}


Не забудьте сделать chmod 0777 на папку /plugins/groups/uploads/

UPD
  • Теперь юзеру можно присвоить несколько групп
  • Можно выкинуть юзера из группы
  • Можно изменить порядок групп, в котором они будут выводиться в профиле юзера

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

Как отключить кеширование?

Решил сделать шаблон под 0.4. И озадачился таким вопросом — кака выключить кеширование в движке?, ибо не отражаются внесенные изменения, а вручную чистить папку с кешем каждые 10 сек это просто глупо.

Кое-какие записи по поводу шаблонов

Решила переделать сама шаблон.
Изучаю. Решила параллельно писать заметки.
Постоянно обновляется запись.
Изменить логотип
файл header.light.tpl в строчке
<h1 class="lite-header"><a href="{$DIR_WEB_ROOT}">Live<span>Street</span></a></h1>

файл header_top.tpl в строчке
<h1><a href="{$DIR_WEB_ROOT}"><strong>Live</strong>Street</a></h1>

Как вставить логотип-картинку
правильно указывать путь к логотипу — например вместо
<h1><a href="{$DIR_WEB_ROOT}"><strong>Live</strong>Street</a></h1>
вставить логотип-картинку, которая находится в папке images текущего шаблона, помнить что это картинка, поэтому для тех пользователей кто отключает картинки, а также для поисковиков, нужно добавить атрибут alt к тегу img:
<a href="{$DIR_WEB_ROOT}"><img src="{$DIR_STATIC_SKIN}/images/logo.gif" alt="название сайта" border=0/></a>

при изменении стандартного шаблона new не удалять
<h1 class="lite-header"> 
иначе логотип уплывет
Читать дальше →

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

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

Открываем файл 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()}"));
	}

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

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

роутинг новостей

Как сделать
Есть блог 'news'
Открывается он как ***.ru/blog/news
Создал новый экшен — который отображает Блог по ссылке ***.ru/news
Но внутренние сслыки Переходят на ***.ru/blog/news/1.html
Оно исходит из {$oTopic->getUrl()}. Как сделать ***.ru/news/1.html?

И как пользоваться внутренними функциями работы с контентом. Нужно получить массив последних 5-и топиков. Сейчас пока делал своими запросами… но явно же есть уже написаные функции.

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

ТЗ на модуль "Компании" (Корпоративные блоги)

Модуль компании — состоит из: профиля компании, блога компании, вакансий компании и отзывов о компании.
1. Профиль компании — информация о компании.
1.1. Наименование* — общепринятое название компании;
1.2. Юридическое наименование — наименование по юридическим документам;
1.3. Описание компании* — краткое описание деятельности компании;
1.4. Направление деятельности — теги основных деятельностей компании (по ним будет строится облако тегов в разделе компаний);
1.5. Адрес — местоположение включающее страну, город и улицу с номером строения;
1.6. Сайт — адрес интернет сайта компании;
1.7. Телефон — контактный телефон компании;
1.8. Руководитель — лицо руководящее компанией;
1.9. Численность — примерный диапазон количества людей в компании;
1.10. Дата основания — дата создания компании по юридическим документам;
1.11. Сотрудники — назначенные администратором люди, которые могут писать в блоге компании;
1.12. Поклонники компании — люди которые присоединяются к блогу компании, этим указывая свой интерес к компании;
1.13. Логотип;
2. Блог компании состоит из: статей, новостей, опросов и событий компании.
2.1. Публикуемое в блоге компании попадает на главную страницу, если рейтинг компании выше установленного для компаний порога;
2.2. В блоге компании могут писать только назначенные администратором компании люди (сотрудники);
2.3. Сотрудником компании можно стать сначала записавшись в поклонники, а администратор компании переключает права из поклонника в сотрудника в админке;
2.4. Рейтинг корпоративных блогов выводится отдельно от обычных блогов;
3. Вакансии компании — статичная страница, на которой будут отображаться вакансии компании;
3.1. Страницу вакансий может менять только администратор компании и назначенные модераторы (опционально);
4. Отзывы о компании — страница на которой пользователи могут оставлять свои мнения относительно компании.
4.1. Администратор компании может установить порог рейтинга при котором пользователь может оставить отзыв;
5. Прочее.
5.1. Компанию может создать только администратор или пользователь имеющий определенный рейтинг на сайте (устанавливается в настройках сайта);

* обязательно для заполнения.
В дальнейшем планирую расширять функционал, если будет востребовано.

Это основа для ТЗ составленная на основе переписки с первичным заказчиком и собственного мнения, теперь ваши комментарии дополнения к существующему ТЗ.
Пожалуйста, без флуда, только конктретные предложения с аргументами.
Мнения будут учитываться только тех, кто решил участвовать в коллективной заявке на корпоративные блоги.

Создание админки. ч2. Создание своего меню, получение и сохранение настроек.


И так, продолжаем. В этой части будет расказано как создать меню (как на картинке) и воспользоваться модулем из предыдущего урока.
Для создания меню(панели админа) необходимо в каталоге «templates\skin\habra\» создать файл «menu.admin.tpl» (код файла приведен ниже).
Основное на что стоит обратить внимание это переменные: $sMenuItemSelect — с помощью нее можно узнать выбранное основное меню (например «Админка»), $sMenuSubItemSelect — это подменю которое выбрано (например, «Сайт»), а также стоит обратить внимание на указанные пути ссылок типа "{$DIR_WEB_ROOT}/admin/site/" от них будет зависеть какое действие будет вызываться.

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

Создание админки. ч1. Создание модуля для работы с настройками(данными) из БД.

Вступление


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

Хранилище данных настроек


Настроек может быть несколько видов, поэтому они будут разделены на группы для удобства. Для хранения настроек будет использоваться таблица с двумя полями, одно имя группы настроек, другое значение в котором будет хранится строка-ассоциативный массив.

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