+60.64
447 читателей, 104 топика

Украшение на НГ

ВАЖНО: скачивание плагина и файлов (см. ниже) прекращено. Если вам ещё актуально, то пишите или в личку или в комментах.
Всех поздравляю с наступающим Новым годом!
Если вы ещё не успели украсить свой сайт на праздники, то предлагаю вам один из вариантов украшений на Новый Год. Выглядеть это будет примерно так
новогодее украшение для сайта
Помимо прочего, игрушки издают перезвон если по ним водить мышкой (картинка кликабательна, можете проверить).
Есть три варианта, как это сделать.
Подробности под катом.

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

Оптимизация шаблонов

Пролог


Наброски по данной статье лежали ещё с конца зимы и все никак не было времени на её написание, поэтому решил опубликовать её почти «как есть» т.е. с сухими выжимками фактов, без расписанных деталей. Это поможет остальным членам сообщества совершенствовать свои шаблоны.

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

Проблема при загрузке изображений в фотосет

При работе на Shared хостинге возможна ситуация, когда загрузка изображений в фотосет зависает на фразе «file.png Resize...», хотя файл на сервер загрузился и все операции над ним выполнились. Эта ошибка сопровождается следующим сообщением в log-файле:
[15-Nov-2013 00:00:00] PHP Warning:  filesize() [<a href='0function.filesize0'>function.filesize0</a>]: open_basedir restriction in effect. File(/var/sites/site.ru/tmp/phpsnEaep) is not within the allowed path(s): (/var/sites/site.ru/htdocs/:.) in /var/sites/site.ru/htdocs/classes/actions/ActionPhotoset.class.php on line 267


Вызвана данная проблема одновременным действием двух источников:
1) не совсем корректной настройкой PHP, связанной с включенными директивами "open_basedir" и "upload_tmp_dir";
2) неточностью в определении размера загруженного файла в классе "ActionPhotoset".
Исправление любого из пунктов приводит к нормальной работе процесса загрузки.

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

Прикрепляем топик без плагина

В LS существует множество возможностей для реализации самого разного функционала как с использованием плагинов, так и без них.

Допустим мы хотим реализовать следующий функционал: на главной странице для гостей сверху всегда выводится определенный топик. Конечно мы можем написать под эту задачу несложный плагин, повесить его на хук в шаблоне и радоваться, но мы поступим проще (на все про все уйдет 4 строчки c учетом замечаний kpoxas три строчки). Сделаем все в шаблоне, написав при этом минимальное кол-во кода. Итак.

Нас интересует главная страница, а значит экшен Index, шаблон вывода которого находится в файле templates/skin/synio/actions/ActionIndex/index.tpl который и будем изменять.

Сразу приведу код
{if !LS::CurUsr() and !Router::GetActionEvent()}
	{include file='topic_topic.tpl' oTopic=$LS->Topic_GetTopicById(8)}
{/if}
Да-да, больше ничего не нужно, результат достигнут ;)


А теперь подробности того как это все работает

Запрет на постинг в персональных блогах (ls 1.0.3)

Моё решение:

В classes\actions\ActionTopic.class.php
Ищем 
$oBlog=$this->Blog_GetPersonalBlogByUserId($oTopic->getUserId()); 
и меняем на
//$oBlog=$this->Blog_GetPersonalBlogByUserId($oTopic->getUserId()); 
$oBlog=null;

Далее ищем 
$oBlog=$this->Blog_GetPersonalBlogByUserId($this->oUserCurrent->getId());
и также меняем на 
//$oBlog=$this->Blog_GetPersonalBlogByUserId($this->oUserCurrent->getId());
$oBlog=null;

В шаблонах actions\ActionTopic\add.tpl
Ищем 
<option value="0">{$aLang.topic_create_blog_personal}</option>
и меняем на 
<option>Выбор блога</option>

И вуаля — топики нельзя создать в личном блоге.

LiveStreet как SEO friendly CMS - давайте же наконец разберемся!

Тут некий (или некая) Znayka , уже писал подобный пост будучи некомпетентным в этом (даже не указав откуда он взял исходный текст), только в нем почему-то без каких-либо пояснений значилось что лс «не торт». Этот же топик — перевод статьи + сравнение с тем, что мы уже имеем в ЛС, подведением итога и указанием обратного — ЛС ещё очень даже хорош. Это кросспост из гида по LiveStreet. Так давайте же посмотрим на полную картинку.

А внутри пряники

Оптимизация индексирования Shpinx для LiveStreet, исправляем древнюю проблему с закрытыми блогами

Суть проблемы — LS ищет и находит сфинксом заметки и комментарии из всех блогов, независимо от того имеете вы к ним доступ или нет.

Чинится это просто:
  1. вносим в поисковый индекс id закрытого блога к которому относится топик или комментарий, либо 0 если этот блог не закрытый.
  2. передаём в поиск id текущего пользователя
  3. находим список закрытых блогов в которые имеет доступ текущий пользователь.
  4. используем этот список расширенный нулём (что добавит все не закрытые блоги в результаты поиска для любого пользователя) со стандартной возможностью фильтрации Сфинкса


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

Прогресс-бар для силы в профиле пользователя

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



Навеяно вот этим топиком.

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

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

share42 и LiveStreet

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

Отступление: На справедливый вопрос «а зачем это вообще нужно?» у меня нету готового ответа. Это SEO. Но базовая интеграция с социальными сетями в каком-то виде, есть в шаблонах изначально. На мой взгляд этого мало, но даже в рамках команды нашего сайта, мы долго обсуждали необходимость дополнительных усилий в этом направлении, и целесообразность применения share42, в частности. Тема глубоко субъективная.

Так вот, плагин для подобной задачи кажется мне слишком тяжёлым решением, а ручная модификация tpl-ей шаблонов — слишком грубым.

В итоге, я решил попробовать прикрутить кнопки применив механизм блоков.

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

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

Многии задаются вопросом как добавить yandex какрту к топику чтобы можно было отмечать точки.
Такой вопрос встал и у меня после неудачного серфинга понял что прийдётся под свои нужды писать самому.

Я думаю многим будет интересно как я это сделал поэтому представляю список всех изменений что я вносил в код.

Оговорюсь сразу делал не через плагины а правил коды. Просто времени на изучение плагинов небыло.

И так приступим

1. В \classes\actions\ActionTopic.class.php после:
$_REQUEST['topic_title']=$oTopic->getTitle();


добавил:
$_REQUEST['coodrinati']=$oTopic->getCoodrinati();



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