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

Плагин aceAdminPanel - пре-релиз

Выложил пре-релиз новой админки под LS 1.0.x на гитхаб. Разумеется, все очень сыро еще, но, тем не менее, кому не терпится увидеть и потрогать ручками, могут это сделать и высказать свои соображения, пожелания и замечания, которые я хоть и не обещаю строго, но все же постараюсь учесть.

Качать можно здесь: github.com/aVadim483/aceAdminPanel/downloads

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)   {

Небольшой эксперимент по СЕО-оптимизации шаблона LS

Оговорюсь сразу: я не СЕОшник и споров о том, что правильно и как надо делать разводить не хотелось бы. Хочу просто поделиться опытом по небольшой оптимизации дефолтного шаблона. Только личный опыт.

Итак, в наличии имеется сайт новостной тематики на LS, небольшой поток посетителей в основном с поисковых систем. По «важности» страницы для себя делю так: главная, страницы блогов, страницы топиков, прочие страницы.

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

Здесь где-то мелькали предложения просто запретить индексацию страниц тегов в robots.txt — это не вариант, так как по ним тоже есть переходы и их терять не хочется, а хочется просто поднять выше в выдаче страницы топиков и блогов.
Читать дальше →

Как добавить username в ватермарк?

Всем привет!

Не даёт покоя насущный вопрос: "Как добавить имя пользователя (загрузившего картинку) в ватермарк?"
Курил блоги и ФАК, но везде вопрос оставался без ответа. Ковырялся сам, но нюанс остался. Итак.

С добавлением статичного текста всё ясно — правим конфиг.

Сама функция добавления ватермарка, насколько я понимаю, находится в файле engine\modules\image\Image.class.php

Непосредственно добавление ватермарка происходит здесь (строка 180):

    $oImage->watermark(
	$aParams['watermark_text'],
	explode(',',$aParams['watermark_position'],2),
        explode(',',$aParams['watermark_font_color']),
	explode(',',$aParams['watermark_back_color']),
	$aParams['watermark_font_alfa'],
	$aParams['watermark_back_alfa']
    );


За сам текст отвечает первый параметр:
$aParams['watermark_text']

Если добавить
. " | "
, выводится
текст |
— значит иду верным путём.
Остаётся каким-то образом добавить переменную, отвечающую за имя пользователя, некий {username}. Пробовал $aParams['user_login'] — не прокатывает… ((

Вопрос, что это за переменная и как её правильно добавить? Люди добрые, и прогеры злобные, помогите, плиз.

UPD

Вопрос решился благодаря spolischook .
Добавляем в код следующие элементы:

$usver = $this->User_GetUserCurrent();
$oImage->watermark(
«Posted by ». $usver->getLogin(). " | ". $aParams['watermark_text'],
explode(',',$aParams['watermark_position'],2),
explode(',',$aParams['watermark_font_color']),
explode(',',$aParams['watermark_back_color']),
$aParams['watermark_font_alfa'],
$aParams['watermark_back_alfa']
);

И получаем результат вида «Posted by {имя_пользователя} | {текст_ватермарка_из_конфига}».
Спасибо, spolischook , за помощь!

Какой VPS брать под проект LS на старте

Многих возможно волнует вопрос о мощах VPS для свежесделанного сайта на LiveStreet, тут конечно многое зависит от настройки, «конфигурации» сайта, прочих факторах, но попробую обобщить, графиков всяких по нагрузкам делать не буду, лень, но если сильно надо, могу закинуть из munin и top. И так.

— Конфиг — XEON, 30 GB, 256 ram, $100 в год.
— Ос — Debian, apache + nginx + memcache… Примерно так.
— LiveStreet + десяток модулей (Static page, AutoCut, Похожие записи, SEO, Loginza, OpenComments, Groups, Image Preview, Sitemap, + свои небольшие свистелки-переделки).
— Спокойно держит — 6к уникальных, 17к просмотров, и около 50 онлайн (из GA взято) + запас примерно 20-30%.

Seo настройки сайтов на LS

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

Тайтлы


Как я вижу нормальную работу с тайтлами:

1. Главная имеет тайтлы с ключами
2. На внутренних в тайтле выводим название статьи + рубрика + название сайта(не обязательно). Причем, если название сайта и выводить, то только краткое и оно не должно повторять тайтл главной. Или же вообще выводить исключительно в тайтле название статьи(топика) + возможность указывать тайтлы отдельно.

Как сейчас по дефолту — название сайта = тайтлу и это название лепится везде на всех страницах.
Читать дальше →

Краткий мануал по работе с блоками или как правильно изменять шаблоны LS

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

Надеюсь данный топик поможет начинающим понять структуру LS, как с ним работать, как редактировать шаблоны и как добавлять нужные блоки на сайт.


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

Рекомендация к использованию: Наследование шаблонов

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

Коротко о файлах в примере (ссылка на архив внизу):

  • topic.prototype.tpl — прототип топика, содержащий всю повторяющуюся разметку. Использованы вложенные конструкции типа
    {block name=...}
  • topic_link.tpl, topic_photoset.tpl, topic_question.tpl, topic_topic.tpl — файлы, наследующие и заменяющие/дописывающие некоторые блоки прототипа топика (topic.prototype.tpl)
  • topic.social.tpl — включение с кодом кнопочек публикации в разные соц-сети.


Коротко о содержании файлов:

Посмотрев файлы примера, не сложно заметить, что файлы topic_*.tpl содержат:
  1. в начале каждого файла наличиствует код
    {extends file=topic.prototype.tpl}
  2. минимум специфической разметки, обрамленной в конструкции
    {block name=... флаг}
    — это замены и дополнения блоков. Флаг может либо отсутствовать (что означает полную замену содержимого блока), либо принимать принимать значения:
    • append — дописывает в конец содержимое блока к наследуемому блоку.
    • prepend — дописывает в начало содержимое блока к наследуемому блоку.
    • hide — скрывает блок (насколько я понял, если добавить в блок прототипа, то по умолчанию блок будет скрыт).
    • nocache — запрещает кеширование содержания блока (а это вообще актуально для LS?).


Документация


ZIP-архив с примером

Помечаем куски шаблонов в скомпилированой странице for 0.5.1

Навеяно топиком, хотя сам использую для верстки практически с момента выхода 05 версии, както не подумал что это может быть полезно и другим ;) исправляюсь )

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