Доработка LS, написание плагинов

Недавно запустил свой первый проект на LS, изначально CMS меня почти устраивала. Знал, что из коробки получить нужный мне функционал не реально не в одной CMS. Много лет работал с DLE, всем хороша, постоянные уязвимости и черезмерная шаблонность, извечные проблемы этой системы. Хотел было уже Drupal взять, но во время остановился прикинув бюджет и поговорив с разработчиками, которые меня сами отговаривали делать всё на Drupal. Примерно та же история была и с WP.
Так я пришёл к LS, которая меня порадовала многим и многим же разочаровала, а именно не особо большим комьюнити, малым количеством плагинов и медленным развитием системы.

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

Помогите новичку!

Всем доброго времени суток.
Сегодня я установил движок, он мне очень понравился, красивый, удобный, даже показался удобнее WordPress'a.
И у меня сразу возник вопрос как подредактировать дизайн?
Мне нужно изменить название шапки с «Your Site» на название сайта.
И внизу убрать рекламу.
В папке templates я искал, не нашел так ничего.
Подскажите пожалуйста!

Помогите решить задачу

Хочу внести несколько изменений, без Вашей помощи никак не получится!!!

Персональные и коллективные убрать полностью! вроде есть плагины на это да?


Топики будут добавляться в категории на выбор автора! соответственно кнопка создать блог больше не нужна


категории уже будут внесены в список, автору надо только выбрать нужную из списка

Модификация списка блогов

В Livestreet CMS в списке блогов и в топе блогов выводятся все, кроме персональны блогов. Как-то раз мне потребовалось вывести в этот список еще и личные блоги пользователей.

Этот способ решения проблемы с выводом списка блогов придуман лично мной, и я не гарантирую, что он рационален, прост или полностью правилен

Порыскав по системным файлам, отслеживая выполнение кода, я нашел функцию, которая составляет этот список, а в ней и запрос к базе данных

Это функция GetBlogsRating в файле classes/modules/blog/mapper/Blog.mapper.class.php приблизительно на 280 строке

Посмотрев на нее, видно, что в запросе к базе данных фильтруются персональные блоги:
WHERE b.blog_type <> 'personal'


По умолчанию у личных блогов нет своего собственного url-адреса, они доступны по адресу site.ru/my/имя_пользователя. Поэтому, если мы просто уберем эту проверку, блоги выведутся, но ссылка будет вести в никуда

Поэтому я решил сделать следующим образом: выводить в список те блоги, у которых есть url-адрес

Я заменил вот эту проверку:
WHERE b.blog_type <> 'personal'
на вот такую:
WHERE 		b.blog_url IS NOT NULL


Сейчас ничего не изменится, так как у персональных блогов в базе данных url-адрес указан как NULL

Дальше есть несколько вариантов действий:
  • Вручную подправить url-адрес в базе данных у нужных блогов, таким образом, в список будут выводится только те блоги, которые вы выберете сами
  • Создать url-адрес для всех персональных блогов (уникальный для каждого) и назначать url-адрес каждому новому созданному персональному блогу

Я пошел по второму варианту, сайт был на стадии разработки, поэтому у существующих персональных блогов я поправил url-адреса вручную, а для присвоения какого-либо url-адреса новым персональным блогам я изменил скрипт создания персональных блогов

Для этого, в том же Blog.mapper.class.php нашел функцию CreatePersonalBlog приблизительно на 260 строке

Я уже не помню, устанавливается ли там url-адрес для персонального блога или нет. В общем ищем там (в функции) строку:
$oBlog->setUrl(что-то там);
(если ее нет, то добавьте ее, к примеру после $oBlog->setType('personal');)

Вместо этого «что-то там» и надо подставить url-адрес блога. Важно, чтобы он был уникален

Туда можно подставить логин пользователя:
$oUser->getLogin()

Но лучше что-нибудь еще добавить к этому, к примеру:
"blog_".$oUser->getLogin()
Url-адрес будет таким: blogs/blog_имя_пользователя

Теперь эти блоги появятся в списке (не забудьте почистить кеш!) и ссылки на них будут работать правильно

У этого способа правда есть недостатки: происходит дублирование контента, адреса my/имя_пользователя и blog/blog_имя_пользователя содержат один и тот же текст, что может не понравится поисковикам

Плюс к этому, по адресу my/имя_пользователя будет отображаться немного другое меню, эту проблему я пока не стал решать, но ее я думаю можно решить на уровне шаблона: в шаблоне блога проверять, не является ли он персональным и подключать соответствующее меню в этом случае

Для сайтов, которые уже давно работают и где уже много персональных блогов будет трудно (а возможно и очень трудно) поменять в базе данных вручную все url-адреса персональных блогов. Поэтому можно придумать какой-нибудь sql-запрос к базе данных, вроде этого:
UPDATE table имя_таблицы_блогов AS b SET b.blog_url=(SELECT u.user_login FROM имя_таблицы_пользователей AS u WHERE u.user_id=b.blog_owner_id) WHERE b.blog_urs IS NULL


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

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

Помощь в реализации проекта

Господа, добрый день!
Для собственного проекта необходим ряд изменений в движке. Теперь открою вам подробности.
Проект будет далеко не блоговой направленности, а публицистической, то есть в нем будет только публикация в категории, публикации в личные блоги не будет. Их необходимо отключить и убрать. Это первое.
После регистрации пользователю надо дать определенный администратором рейтинг(для всех один).Это второе.
Кроме категорий необходимо сделать подкатегории и подподкатегории, это тоже необходимо реализовать. Это третье.
На данном этапе все, программист я так себе, поэтому жду ваших подсказок или если они не помогут, то конкретной помощи.
Всем спасибо

UP: всех кого интересует такие же вещи предлагаю скинуться и заказать выполнение данных работ на движке