+14.47
Рейтинг
52.59
Сила

Alexey Elizarov

Переименовать blog в community

Господа, у меня такой вопрос — я переименовал «blog» в «community» сделал все по инструкции, перенаправление и новый адрес в роутере, тепрь беда — он мои личные записи выдает как ресурс/community/10.html как с этим бороться, (в процессе написания добавил правило о сокращенном URL)

Вот что я делал в конфиге
/**
 * Настройки роутинга
 */
$config['router']['rewrite'] = array( 'blog' => 'community');
// Правила реврайта для REQUEST_URI
$config['router']['uri'] = array(
	// короткий вызов топиков из личных блогов
	'~^(\d+)\.html~i' => "blog/\\1.html",
	'~^(\d+)\.html~i' => "community/\\1.html",
);
// Распределение action
  . . . . строки пропущены . . . . 
$config['router']['page']['blog']          = 'ActionBlog';
$config['router']['page']['community']     = 'ActionBlog';


Может кто знает, помогите плз,.

АЛЬЗО! — Если убрать $config['router']['page']['blog'] из конфига перестают работать фишки вступить в блог, выйти из блога, рейтинг блога перестает работать — тупо не срабатывает когда тыкаешь,. Тема Social 2.0.4 (вчера купил — поставил)

UPD — Лучше сделать так

ort предложил гениально, как всегда)
public function getUrl() {
    if ($this->getBlog()->getType()=='personal') {
        //return Router::GetPath('blog').$this->getId().'.html';
        return '/'.$this->getId().'.html';

RSS для Яндекс.новостей

Мы решили подключить наш сайт к Яндекс.новостям. Яндексу нужна RSS особого вида, та, что livestreet отдаёт из коробки ему не подходит.
За основу был взят ActionRSS, который есть в ливстрите с самого начала. Вообще-то я в php ни в зуб ногой, на работе пишу на c++, и ливстрит увидел в первый раз в жизни, так что работа эта заняла у меня не меньше 4 часов. В том числе потому что документацию к движку я тогда найти не смог.

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

Валидация данных в 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;
	}
}


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

Itnotify - утилита уведомлений о событиях в Linux

Сразу оговорюсь, автор программы не я, автор мой друг. Как-то проскочила идея создать нотификатор для Linux с сайт itbuben.org, как уже догадались работает конечно же на LiveStreet, поэтому тема может быть актуальна для любого проекта на этой CMS с правками на него. Тут подумал, а вдруг полезным окажется и другим. Данный топик рассчитан на сбор идей для Itnotify, поделитесь мнением, это важно по крайне мере для нас, а может быть и не только для нас.

Itnotify сканирует RSS-ки блогов, пользователей и комментариев, а при обнаружении новых тем уведомляет пользователя. Пишется на Си для Gtk+.


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

Вопрос о автоапредлении мобильника

Добрый в всем!
Вопрос в следующем: необходимо определить от куда клиент зашел: если с мобильного, то показывать ему мобильную, версию; если с настольного — то основной шаблон. Есть ли у кого какие-нибудь соображения?
В результате изысканий (своих и сообщества) сделаю плагин (free).
Заранее спасибо всем за помощь.

UPD: Плагин
на mail-е

Плагин "Уровни"

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

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

Коллективный заказ модуля - "Популярное "

Добрый день, всем. Структура Ливстрита во многих вещах очень классно создана, но ориентирована она в основном на АЙТИ Гиков которые имеют следующие качества: разбираються в Айти на уровне продвинутых пользователей, понимают что такое лайк и умеют пользоваться не только одноклассниками и вконтактом, но и с легкостью разбираются с более сложными интерфейсами как фейсбук на английском языке. Я веду это предисловие к тому что у меня на проекте uaparty.com аудитория 18-30 из которых 70% девушки и они ничерта не понимают и не хотят голосовать за интересные топики и это прискорбно. Учитывая все эти проблемы я уже как 3-6 месяцев продумываю модуль ПОПУЛЯРНОЕ на основе более адекватной формулы и вот к чему пришел:

Модуль Популярное:
Базовые факторы — Количество просмотров страницы, среднее время нахождения на странице (больше НН секунд или меньше), количество внешних лайков на страницу
Вспомогательные факторы — прокрутка до окончания текста, лайк ливстрита

Работа системы:
Есть 2-а пути
1. Надо создать систему статистики или как-то записывать в базу количество просмотров и время нахождения на сайте + добавить функцию парсинга количества лайков с фейсбука, вконтакта, гугл+, и твитера (так сделали на mashable.com и вот был менее продвинуты плагин для версии 0.4 livestreetcms.ru/addons/view/202/)
Плюсы этого варианта: независимость от каких-либо ресурсов, полная сохранность информации на Вашем сервере
Минусы: Себестоимость системы, сложность защиты от накруток, возможные проблемы с доступностью соц. сетей и их парсингом
2. Подключить API Google Analycitcs or Yandex Metrika и на основе их данных создавать рейтинг
Плюсы: Полная автономия системы и легкость в реализации, гугл аналитикс позволяет вставить все соц. сети в статистику что в итоге даст всю информацию в закрытом виде. + Более высокий порог защиты. Стоимость системы будет ниже
Минусы: зависим от внешнего ресурса, гибкость системы ограничена, точность данных на текущий день около 80%


UPD.
Рейтинг автора за топик =
1 if от 0 до 100 (рейтинга топика) — 2 if от 100 до 500
и т.д.
Тем самым автору важно что б его топик был интересен и его лайкали в соц. сетях и посещали, тем самым популяризировать сам топик. Работает формула Дай нам посетителей и мы тебе дадим посетителей с главной страницы. При этом не будем зависить от того что у автора есть крутые друзья с крутым рейтингом

Если кому-то интересна такая системы то мы будем рады создать ее на основе коллективного заказа. Наша компания Agiotage готова взять на себя 50% затрат, а вторая половина будет поделена среди других заказчиков. Стоимость системы

Предварительная договоренность о разработке есть, но цена будет известна после окончательного ТЗ.
Если кому-то интересно прошу обязательно отпишитесь что готовы при адекватной цене участвовать в разработке, чем больше людей тем дешевле. Да и лайкайте что б на главную попасть.

Еще один вопрос по ORM

Всем привет!

Есть три таблицы:



Связь Entry описана:

    protected $aRelations = array(
        'resources' => array(self::RELATION_TYPE_MANY_TO_MANY,'ModuleResource_EntityResource', 'resource_id', 'db.table.resource_to_entry', 'entry_id')
    );


При запросе типа…
$colEntries = $this->Entry_GetEntryItemsByFilter(array(
                                                       'status'=>'published',
                                                       '#with' => array(),
                                                       '#order'=>array('date_begin' => 'asc'),
                                                       '#page' => array($page,$perpage)
                                                     ));


… загружается коллекция записей. В дальнейшем, при обходе коллекции в каждой итерации выполняется код:

$oEntry->getResources(array('resource_type'=>'IMAGE_THUMB_ENTRY_TYPE1','deleted'=>0)


Все работает, но не устраивает поток запросов к БД :(

Вопрос знатокам:

Есть ли способ загрузки всей коллекции ресурсов (к каждой записи entry) на этапе вызова Entry_GetEntryItemsByFilter?

Пробовал через #with. Не получилось. Утыкается в проверку типа связи, где и вызывает исключение.