+1.19
Рейтинг
1.70
Сила

Andrey Superstar

Свой description для страниц топиков

Цель: создания своего description для страниц топиков.

1. Дополнительное поле при создание топика.
2. Счетчик символов при заполнение и валидация
3. Условие для страниц топиков

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

Комментарии, форма комментариев, порядок вывода.

Доброго времени суток всем.

Потратил много времени на поиск, перечитал ФАКу и не нашел ответов.
Нужно изменить порядок вывода комментариев.
Нужно, что бы новые комментарии отображались сверху
Форма комментариев тоже должна отображаться вверху и быть все время активна. А надпись «Добавить комментарий» вообще убрать.
Все решения данной проблемы для старых версий ЛС.
Прошу совета бывалых.

Итоги:

Новые комментарии отображаются сверху.
Форма добавления комментариев тоже находится вверху, сразу под топиком, но не активная, все равно нужно нажимать на ссылку (это не решено)
Древовидный вывод комментариев при таком выводе комментариев не используется.
Все эти приблуды доступны и гостям сайта(используется плагин OpenComments), заценить можно здесь allorg.com.ua/

Спасибо за советы и верное направление 1099511627776 и aex
С ув. O3OH

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

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

Все!

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

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

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

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

Ежедневное вознаграждение пользователей за визит

Уважаемые коллеги,

Может кому-то будет полезно описание решения задачи ежедневного вознаграждения пользователей за заход на ЛС-сайт (для версии 1.0.1).
Читать дальше →

галочка на регистрации - куда привязать запрос? (РЕШЕНО)

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

скрипт такой

<p><label><input type="checkbox" name="accept" class="input-checkbox" onclick="check()" /> {$aLang.registration_regulation_form} <a href="">{$aLang.registration_regulation}</a>
                    <i class="icon-question-sign js-tip-help" title="{$aLang.registration_regulation_notice}"></i></label></p>


запрещаем кнопку быть активной если не нажата галочка

function check()
                {
                        var d=false;
                        var dd=document.getElementsByName('accept');
                        for(var i=0;i<dd.length && !d;i++)
                        {
                                if (dd[i].checked) d = true;
                        }
                        document.getElementById('registration-form-submit').disabled=!d;
                }


/registration -> skin/actions/registration/index.tpl
pop-up: skin/window_login.tpl

Сокращенное условие {if}

Доброго времени суток!

Сейчас я использую условие:

{if $oBlog->getId()==13 or $oBlog->getId()==14 or $oBlog->getId()==15 or $oBlog->getId()==16 or $oBlog->getId()==17 or $oBlog->getId()==18 or $oBlog->getId()==19 or $oBlog->getId()==21 or  $oBlog->getId()==22 or $oBlog->getId()==23 or $oBlog->getId()==24 or $oBlog->getId()==25 or $oBlog->getId()==26 or $oBlog->getId()==27 or $oBlog->getId()==28 or $oBlog->getId()==29 or $oBlog->getId()==30 or $oBlog->getId()==31 or $oBlog->getId()==32 or $oBlog->getId()==33 or $oBlog->getId()==34 or $oBlog->getId()==35 or $oBlog->getId()==36}


В общем-то оно работает, но если уже к этому списку приписать еще один or $oBlog->getId()==37}, то показывает ошибку Smarty.

Можно ли как-то сократить? К примеру
{if $oBlog->getId()==13-37}
или что-то в этом роде.

LS 1.0.1 - доработка парсера тега video. Короткая ссылка + центровка.

Приветствую! Появилась необходимость внести пару фиксов. Я вообще впервой :)
цели:
1. Возможность вставки короткой ссылки на youtu.be
2. Вывод видео в блоге по центру.

Итак, решение простое.
Открываем файл: engine/modules/text/Text.class.php

Строка 123.
находим код:
/**
         * youtube.com
         */
$sText = preg_replace('/<video>http:\/\/(?:www\.|)youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)(&.+)?<\/video>/Ui', '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $sText);

после этой строки добавляем обработку короткой ссылки на ютуб:
$sText = preg_replace('/<video>http:\/\/(?:www\.|)youtu\.be\/([a-zA-Z0-9_\-]+)(&.+)?<\/video>/Ui', '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $sText);


Для центровки вставленного видео есть два варианта. Первый центрует только видео, второй центрует все, включая текст до и/или после вставки видео.

Вариант 1: Центровка только видео.
Для этого необходимо в каждой строке обработки видео ссылок добавлять тег центровки.
Пример:
Код без центровки:
$sText = preg_replace('/<video>http:\/\/(?:www\.|)youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)(&.+)?<\/video>/Ui', '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>', $sText);

Код с центровкой:
$sText = preg_replace('/<video>http:\/\/(?:www\.|)youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)(&.+)?<\/video>/Ui', '<div align="center"><iframe width="560" height="315" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe></div>', $sText);

Перед
<iframe
добавили
<div align="center">
и в конце, после
</iframe>
добавили
</div>


Вариант 2: Центровка всего содержимого.
В конце функции VideoParser($sText), в которой собственно мы и добавляли строку, указанную выше, необходимо перед
return $sText;

вставить код:
$sText='<div align="center">'.$sText.'</div>';


В общем в конце получится примерно такой код:

$sText='<div align="center">'.$sText.'</div>';
        return $sText;
    }
    /**
     * Парсит текст, применя все парсеры
     *
     * @param string $sText Исходный текст
     * @return string
     */
    public function Parser($sText)   {