+2.97
Рейтинг
8.18
Сила

Сергей Полищук

Советы по локализациям (подводный камушек)

Привет сообщество!
Веду беларускамоўны проект для ЛС. Естественно делал локализацию. Столкнулся с проблемой, что на сайте не верно склоняются некоторые лэйблы (если использовать другие локализации, да-да). Мной замечены даты и изображения.

К примеру в фотосетах слово «изображение» на русском языке склоняется следующим образом:
1,21,31… изображение
2,3,4; 22,23,24… 32,33,34… изображения
5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 изображений

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

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

Плагин, создание которого я опишу уже в каталоге и ссылка на него будет в самоом конце.
Идея плагина заключается в следующем: предоставить пользователю возможность добавлять в топик карусель, предоставляемую фреймворком Twitter Bootstrap. Добавление карусели будет осуществляться через встроенный редактор, для карусели будут доступны как изображения из сети, так и загруженные с компьютера пользователя.

Приступим
В начале создадим в папке plugins папку для нашего плагина с именем carousel и в нем файл plugin.xml c описанием создаваемого плагина (см. картинку ниже).


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

Плагин отключения голосования в минус

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

Очень полезная вещь как мне кажется и если на livestreet.ru используется отдельный плагин для этого, то попрошу ort -а пролить свет на него в каталоге модулей LiveStreet.

Если нет — хотелось бы увидеть универсальное решение в комментариях к топику.

jqModal. Создание модальных окон и не только

Вроде бы по созданию и использованию модальных и всплывающих (pop-up) окон в LS публикации уже были, но видимо, то ли информации мало, то ли преподнесена она слишком кратко — вопросы опять появились.
Этим топиком я «убиваю сразу двух зайцев» — и свой багаж знаний пополню и у для кого-то текущие и будущие вопросы возможно помогу решить
Читать дальше →

Валидация данных в LiveStreet 0.6

В транковую версию LS на github.com добавлен новый функционал — валидация данных и полей сущностей. Этот функционал призван заменить функцию func_check(). За основу был взят функционал валидации Yii.

На данный момент доступны следующие типы валидации:
  • Boolean — проверка значения на булевый тип
  • Date — проверка значения на формат даты и времени
  • Email — проверка корректности емайл
  • Inline — валидация произвольным методом сущности или другого объекта
  • Number — проверка на числа
  • Required — проверка на пустое или конкретное значение
  • String — проверка строк на длину
  • Type — проверка на тип значения
  • Url — проверка на корректность URL


Как использовать

В сущности необходимо составить список правил валидации.
class PluginTest_ModuleMain_EntityTest extends Entity {

	protected $aValidateRules=array(
		array('login, name','string','max'=>7,'min'=>'3'),
		array('title','my','on'=>'register'),
	);

	public function ValidateMy($sValue,$aParams) {
		if ($sValue!='Мега заголовок') {
                    return 'Ошибочный заголовок';
                }
		return true;
	}
}


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

Подключение сторонних javascript библиотек в плагине

Суть задачи: плагин в своей работе задействует внешнюю js библиотеку. В моём случае — это Google Maps Api. При добавлении этой библиотеки таким образом:
$this->Viewer_AppendScript('http://maps.google.com/maps/api/js?sensor=true&libraries=drawing,geometry');

гугл посылает далеко и надолго.
Я обнаружил 2 решения проблемы:
1 (корявое). Отключить сжатие js файлов:
Config::Set('compress.js.merge',false);
Config::Set('compress.js.use',false);

Почему корявое, думаю, объяснять не стоит.
2 (приемлемое). Полез в код движка и обнаружил что подключить стороннюю js библиотеку можно без проблем, просто вьюверу указать чтоб не пытался объединить её код с остальным:
$this->Viewer_AppendScript('http://maps.google.com/maps/api/js?sensor=true&libraries=drawing,geometry',array('merge'=>false));

Вуаля! Работает!
Подскажите если есть ещё варианты решения данной проблемы

Боевой курс новичка или "всем новеньким - сюда"

Это краткое FAQ.

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

Как создать свой вид топика, используя систему плагинов

3 года назад было написано Руководство: Как создать свой вид топика на LiveStreet. В то время ещё не было системы плагинов, и всё делалось «топорно», что в последствии затрудняло обновление движка, т.к. приходилось свои куски кода вставлять опять. С появлением системы плагинов LiveStreet стал более гибким и легко обновляемым. Передо мной встала задача создать новый вид топика, и я решил сделать это плагином. Но в процессе выяснилось, что то ли я чего-то не знаю, толи этого нет.

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

Статус онлайн в профиле (и не только) [реализация]




Спасибо ort и PSNet

Загорелся идеей вывести в профиль статус онлайн/оффлайн для пользователей. Понял, что по сути можно сделать напрямую в шаблоне примерно такой схемой
{если «текущее время в секундах» — «дата последнего визита в секундах» < 900 секунд} онлайн {иначе} оффлайн {/если}

Под катом инструкция

Голосование за лучший дефолтный дизайн LiveStreet

Закончился прием работ на конкурс «Новый дефолтный дизайн LiveStreet CMS». Благодарим всех участников за проявленный интерес к конкурсу и предоставленные работы. Спасибо!

Были поданы 34 заявки на участие (некоторые работы с фриланса), и сегодня мы предлагаем вам выбрать лучшие из них.
Хочу напомнить, что выбрать нужно именно дефолтный дизайн, тот который будет идти в дистрибутиве LiveStreet. Т.е. он должен быть как простым, так и универсальным для большинства пользователей.
Итоги этого голосования будут учитываться при выборе тройки победителей администрацией проекта (решили не ограничивать выбор 10-ю кандидатами).

Ввиду снижения накруток при голосовании, голосовать могут только пользователи зарегистрированные ранее 15 ноября включительно. Голосование продлится до 27 ноября включительно.
Ниже представлен список вариантов, все картинки кликабельны на оригинальный размер.
Голосуем!

UPD Работы отсортированы в случайном порядке.
UPDПоддержать топик на Хабре о работах — habrahabr.ru/blogs/livestreet/132789/



Вариант 1 (grombzz, Static):



Вариант 2 (deniart, Yeti):



Вариант 3 (olegkrasnov):




Вариант 4 (rafael, №2):



Вариант 5 (mindfreak, Simple):



Вариант 6 (denf, Re-Genue):




Вариант 7 (etomoynick):



Вариант 8 (LeX, Synio):



Вариант 9 (sumyuga, Friendly):



Вариант 10 (dimitrymd, SilverStreet):



Вариант 11 (titikaka, Seventeenth Street):



Вариант 12 (kylishdenis, GreenStreet):



Вариант 13 (iGreeen):



Вариант 14 (Daddy_M_tv):



Вариант 15 (stfalcon, NeoLite):



Вариант 16 (ismeyker):



Вариант 17 (nevt):



Вариант 18 (viktorkamen, Aluminium):



Вариант 19 (viktorkamen, Sweet):



Вариант 20 (stfalcon, Lugree):




Вариант 21 (sumyuga, Mojo):



Вариант 22 (viktorkamen, Evolution):



Вариант 23 (rsttskyy, Banana Brownies):




Вариант 24 (grokru, Noname):



Вариант 25 (Moushen, Modern Classic):



Вариант 26 (TakeAStar, Thin-Green):



Вариант 27 (onthefly):



Вариант 28 (rafael, №3):



Вариант 29 (itartass, Oldschool):



Вариант 30 (Flyde):



Вариант 31 (sarah23, ThinkX):



Вариант 32 (Swarovski, Malahit):



Вариант 33 (kompo, construct):



Вариант 34 (vOFFka):