+51.00
Рейтинг
75.55
Сила

Лариса

Вопрос по выводу топиков в ленте пользователя

К примеру: вывожу топики в лентах сайта плиткой, в ленте пользователя хочу вывести стандартно. В файле topic_list.tpl шаблона пишу условие:

{if $sAction=='feed'}
    стандартный вывод топиков
{else}
    плиточный вывод
{/if}


При переходе в ленту топики выводятся как и хотелось бы — стандартно, но после подгрузки следующей порции — выводятся плиткой. Почему так происходит? И можно ли как-то решить на уровне шаблона не трогая ActionUserfeed.class.php?

Небольшое красивое дополнение

В одной из ранних версий bootstrap, на главной странице этого фреймворка увидел интересную фишку. При прокрутке страницы главное меню фиксировалось в верхней части страницы. Сегодня почему-то вспомнилось и решил реализовать такую вещь для livestreet. Как оказалось — очень просто.

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

Закрепление топика на главной: мое решение


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

Плагин небольшой и его идея заключается в добавлении и реализации собственного хука.

Попробовать плагин в действии можно с github-а. В общем каталоге плагина нет, но скоро появиться, я думаю.

Сразу скажу, речь идет о закреплении одного-единственного топика, идентификатор которого и указывается в настройках плагина.

Плагин "Мнения" - расширенный функционал голосования


Плагин выполняет две задачи: отображает в профиле пользователя его текущее место в общем рейтинге пользователей и реализует отправку и отображение анонимных сообщений при голосовании.

Дальше подробнее и с картинками

Красивые подсказки в редакторе

Подсказки в редакторе реализованы через указание их текста в атрибуте тега a. Как оказалось и плагин для вывода сообщений использует этот атрибут, осталось сделать лишь небольшую доработку — в файл скрипта темы (templates/skin/ТЕМА/js/template.js) добавить несколько строчек кода, расположенных ниже. Более подробно о настройках poshytip можно почитать здесь:
$('.markItUpHeader .markItUpButton a').poshytip({
    className: 'infobox-yellow',
    showTimeout:300
});

Все!

Рецепт добавления поля в диалог регистрации пользователя

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

Постановка задачи: необходимо добавить в форму регистрации пользователя поле «Имя пользователя» из его, пользователя, профиля.
Задача решается последовательно в несколько шагов:
Шаг 1. Добавление текстовки в языковой файл.
Шаг 2. Добавление поля в форму регистрации.
Шаг 3. Добавление правила валидации элемента.
Шаг 4. Обеспечение записи элемента при валидации.
Шаг 5. Доработка всплывающего окна с регистрацией.
Шаг 6. Доработка маппера.

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

Интересное решение на неявном преобразовании типов

Задача, собственно, проста: ненавязчиво напоминать пользователю когда он последний раз читал топик надписью в заголовке о количестве дней, прошедших с момента последнего его прочтения. Делается так:
{$numberOfDays = ($smarty.now|date_format:"%Y%m%d"-0)-($oTopic->getDateRead()|replace:"-":""-0)}
{if ($numberOfDays != 0) }
    <div style="font-size: 10px; display: inline; color: #d3d3d3;">
        (Прочитано {$numberOfDays} дней назад)
    </div>
{/if}

Комментировать дальше не буду, но на вопросы отвечу).

Создание плагина. От идеи до публикации. Часть 3

Настройка типографа
Настройку типографа реализуем следующим образом: создадим файл конфигурации плагина в каталоге «config» который, в свою очередь, находиться в корне плагина и в нем проведем нехитрые опрерации по добавлению тега 'carousel' в список разрешенных jevix-ом тегов.
<?php
    $aAllowTags = Config::Get('jevix.default.cfgAllowTags');
    $aAllowTags[0][0][] = 'carousel';
    Config::Set('jevix.default.cfgAllowTags', $aAllowTags);


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

Создание плагина. От идеи до публикации. Часть 2.

Создание диалога добавления карусели
Прежде всего определим, каким образом карусель будет вставлена в редактор. В плагине будет использоваться следующая структура: тег «carousel» содержит одно или несколько изображений (тегов img), которые в дальнейшем можно добавлять с помощью стандартного диалога вставки изображения. Диалог вставки тега «carousel» с первым изображением мы создадим, из диалога вставки изображения. Шаблон диалога представлен в файле «skin/developer/window_load_img.tpl», его мы и будем переделывать. Созданный шаблон с помощью зарегистрированного хука будет добавлен на страницу, проинициализирован. Инструменты, обеспечивающие функционал формы будут заимствованы от диалога вставки изображения.

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