+2.15
Рейтинг
2.72
Сила

Sergey

CSS-неймспейсы для Internet Explorer

Дабы не плодить кучи css-файлов для разных версий ишака, придумал такой скриптик:

/**
 * Adds css classes to body like ie, ie-6, ie-gte-5-5, ie-not-7, etc.
 * depends on msie browser version
 * 
 * @author Sergey S Yaglov
 * @link http://livestreet.ru/profile/1d10t/
 */
jQuery(function(){
	if(!jQuery.browser.msie){
		return;
	}
	var versions = ['5.5',6,7,8,9,10];
	var body = jQuery('body:eq(0)');
	var bv = jQuery.browser.version;
	var classes = ['ie'];
	var signs = {
		'==': '-',
		'>=': '-gte-',
		'>': '-gt-',
		'<=': '-lte-',
		'<': '-lt-',
		'!=': '-not-'
	};
	jQuery.each(versions, function(i,v){
		for(var sign in signs){
			var css_sign = signs[sign];
			eval('if(bv '+sign+' v){classes.push("ie"+css_sign+new String(v).replace(".","-"));};');
		}
	});
	body.addClass(classes.join(' '));
});


Применять в css-файлах можно, например, так:

.my-class { ... стиль для нормальных браузеров ... }
body.ie .my-class{ ... стиль для ненормальных браузеров :) ... }
body.ie-gte-7.ie-lte-8 .my-class{ ... стиль для ишаков от 7 до 8 версии включительно ... }

Теперь все наши плагины совместимы с LS v0.5.1!

Хочу поделиться хорошей новостью — вчера мы закончили обновление последнего плагина и теперь все наши плагины совместимы с LS v0.5.1 (:
 
 

Плагин «Sitemap»

Предназначен для автоматической генерации карты сайта в виде файла sitemap.xml. Карта сайта включает в себя ссылки на блоги, топики и профили пользователей. Совместим с плагинами «Gallery», «Page», «L10n».

Плагин «L10n (для мультиязычности)»

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

Плагин «Related topics»

Выводит список похожих записей как блок в сайдбаре. Записи сортирует по количеству совпавших тегов и дате/рейтингу.
 

Больше плагинов под катом

Кеширование или как много хорошего в этом слове


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

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

Не верный вывод timezone для публикаций и комментариев

Столкнулись с не верным выводом времени для комментариев на сайте: топик размещён только в 14.00, а комментарии к нему уже с 13.00 (спасибо за отмену перевода стрелок).

Решается, заменой в config.php date_default_timezone_set('Europe/Moscow');
На универсальное отклонение в часах: date_default_timezone_set('Etc/GMT-4');

Для Москвы сейчас верно -4 (раньше было -3), да минус — это такая фича, в доке описанно довольно понятно. (Выдержка: The current Etc/GMT-4 time zone offset is: UTC/GMT +4 hours)

Может кому пригодиться.

Дополнительное поле при создании топика

Здравствуйте, довольно актуальная тема на 0.5.x

Дополнительное поле при создание топика

Сразу хочу сказать спасибо:
bas eXtravert bamboo

Источники: HOWTO: Дополнительные поля при создании топика — подправил адреса к файлам + добавил русского языка

Цель:
  • Часть I создание дополнительного поля в шаблоне new под 0.5.1
  • Часть II опубликованное дополнительное поле видно только администраторам


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

Разработчики. Будьте внимательнее.

Вчера на одном из сайтов, сделанных на livestreet, столкнулся с проблемой.

При заходе по адресу sitename/blog/blogurl/1.html вываливался Exception о ненахождении шаблона «blogurl.tpl»

Fatal error: Uncaught exception 'Exception' with message 'Can not find the template: 
actions/ActionBlog/blogurl.tpl' in sitename/engine/modules/viewer/Viewer.class.php:321 
Stack trace: #0 [internal function]: ModuleViewer->Display('actions/ActionB...') 
#1 sitename/engine/classes/Engine.class.php(481): call_user_func_array(Array, Array) 
#2 sitename/engine/classes/Router.class.php(368): Engine->_CallModule('Viewer_Display', Array) 
#3 sitename/engine/classes/Router.class.php(70): Router->__call('Viewer_Display', Array) 
#4 sitename/engine/classes/Router.class.php(70): Router->Viewer_Display('actions/ActionB...') 
#5 sitename/index.php(35): Router->Exec() 
#6 {main} thrown in sitename/engine/modules/viewer/Viewer.class.php on line 321


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

Пожелания к разработке шаблонов разработчиками

Это список важных замечаний к разработке шаблонов к LiveStreet CMS.
Особенно это будет полезно тем, кто выиграет конкурс на стандартный шаблон для ЛС.
Внедряя эти мелкие доработки, шаблон может стать более дружественным к пользователю и увеличит поток потенциальных ЛС-водцев.

Итак:

  1. Кнопка вступления в блог — она должна быть максимально доступной, большой и понятной. Вокруг неё должно быть логичное объяснение типа сноски что она делает.

  2. К каждому объекту на ЛС можно было бы добавить справку, например в виде значка ?, при наведении указателя мыши на который выводилась бы краткая справка в попап окне для чего нужен тот или иной блок/элемент.
  3. В личных сообщения проставить маленький значок «адресат прочитал письмо»
  4. Добавить подписи ко всем элементам (title) — vOFFka
  5. При добавлении записи убирать ссылку на создание блога при нажатии выдавать сообщение в углу «Недостаточно рейтинга для создания блога», если человек не достиг нужного рейтинга. — vOFFka , nickostyle
  6. чтоб верстальщики хотя бы процентов 30 css-классов называли одинаково — avadim
  7. можно сбоку добавить кнопку «Наверх», как в контакте, чтобы не скроллом прокручивать страницу до самого верха (ведь в некоторых темах и по 500 комментариев бывает). — Newman
  8. Вывести в более удобное место управление подписчиками (по заявек) в закрытый блог… — Bo0oM
  9. Кнопку «избранного» переместить в конец топика, чтобы не приходилось прокручивать вверх после прочтения статьи. — vOFFka
  10. если вы вносите языковую переменную в свой шаблон то делайте это не на уровне шаблона а уровне языковых файлов. — Fanta
  11. прописывайте языковые переменные не в стандартном языковом файле движка (/templates/language/russian.php) (чтобы не иметь проблем с обновлениями), а в языковом файле шаблона (/templates/skin/new-jquery/config/language/russian.php) — PSNet
  12. И во имя безопасности, кидайте .htaccess в папки — Bo0oM , с правильным содержимым, например:
    
    Options -Indexes
    <Files ~ "\.tpl$">
        Order allow,deny
        Deny from all
    </Files>
    

    PSNet
    , Россыпь таких файлов замедляет работу веб-сервера, поскольку он вынужден читать их при каждом обращении к файлам. Желательно объявить эту директиву однократно, а ещё лучше — указать её в конфигурационном файле веб-сервера. В последнем случае она будет читаться только один раз, при старте Апача. onthefly
  13. не ставить h1...h6 где попало, если и ставить, то внутри должен быть голый текст — kpoxas
  14. не использовать инлайновые css и js — onthefly
  15. Везде в вызовах хуков проставить соответствующие для даного хука основные переменные, например чтобы хук:
    {hook run='menu_profile'}

    выглядел так:
    {hook run='menu_profile' oUserProfile=$oUserProfile}

    ведь эта переменная там очень нужна — PSNet
  16. Блоки в ЛС нуждаются в инфографике, ведь правда блок:

    так выглядит лучше:

    тоже самое касается пунктов в профиле («добавить в друзья» и т.п.)

    PSNet
  17. Сделать, чтобы если пользователь сейчас на сайте, то в профиле отображалось, что он «онлайн»Newman
  18. В комментариях к топику как-нибудь выделять комментарии топикстартера (цветом или рядос с аватаркой значек ставить).Newman


Предлагаю дополнять топик мелочами, которые помогу сделать ЛС более интуитивным.

P.S. Большинство мелочей, кстати, реализовал в этом шаблоне.

УкрЯма - Сообщество

УкрЯма — Сообщество
Привет, сообщество!

Хочу вам рассказать, что совсем недавно на Украине стартовал новый проект "УкрЯма". Этот проект — мощный инструмент в руках граждан, которые хотят улучшить качество дорожных покрытий и сделать безопасным движение на дорогах.

Он является аналогом российского проекта "РосЯма", который уже хорошо зарекомендовал себя в России. В сентябре 2011 года разработчики «РосЯмы» открыли исходный код своих модулей для bitrix cms, и это позволило запустить подобный проект на Украине. УкрЯма работает уже более месяца и уже есть первые результаты плодотворных трудов. Более 350 загруженных ям, 182 заявления отправлено в ГАИ и уже 17 исправленных дорожных дефектов.

Изначально, проект не имеет какой-либо площадки для общения и является только инструментом, позволяющим решить проблему с ямами на дорогах. Но мы, команда «УкрЯмы», решили не останавливаться на этом и создали уникальное сообщество ямоборцев "УкрЯма инфо".

Мы сразу знали, что «платформой для общения» будет LiveStreet и начали искать разработчиков/дизайнеров.
Так как проект «УкрЯма» не коммерческий и не несет никакой прибыли, средства на оплату работ отсутствуют. Но мы были уверены, что есть еще активисты в нашей стране.

Первыми и последними откликнулись ребята из веб студии stfalcon.com, которые в кротчайшие сроки реализовали дизайн для проекта, а так же сверстали его совершенно бесплатно — ребята, вы молодцы! Плоды их работы, вы можете лицезреть на сайте сообщества "УкрЯма инфо".

Так же мы обращались к разработчикам плагинов, но к сожалению никто нам не смог помочь.
Avadim и vOFFka, спасибо вам, что откликнулись на письма, так как подавляющее большинство разработчиков плагинов даже не ответили, хоть и прочитали их.

Мы будем развиваться и совершенствоваться, оставайтесь с нами :)

UPD: Проекту нужна помощь программистов, которые смогли бы реализовать единую авторизацию между bitrix cms и livestreet cms.

Плагин «Twitter Feed»

Ваша twitter-лента в блоке «Прямой эфир».

Позволяет организовать вывод последних твитов вашего сайта, любимого исполнителя (группы), новостей и т.п. в «прямом эфире».

Плагин портирован под ЛС 0.5+ (jQuery).

Плагин доступен в каталоге.

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

Sisyphus - защита HTML формы

Sisyphus
Привет Сообщество!

Вчера днем, многие хабраюзеры могли прочитать о jQuery плагине Sisyphus.

Этот плагин подключается к HTML форме и на лету сохраняет данные в LocalStorage. Если до момента отправки формы рухнет браузер, случайно закроется вкладка или вырубят электричество — данные будут сохранены. При следующем открытии страницы с формой она будет заполнена сохраненными данными.



Плагин Sisyphus для LiveStreet подключает Sisyphus.js к форме создания топика (всех типов).
Для проектов написанных с использованием js-фрэймворка Mootools, jQuery будет загружен автоматически.
Плагин протестирован в 0.4.2 и 0.5.1 версиях LiveStreet.
Плагин не тестировался с WYSIWYG-редакторами. (есть мнение, что не заработает)