Модификация списка блогов
5
В Livestreet CMS в списке блогов и в топе блогов выводятся все, кроме персональны блогов. Как-то раз мне потребовалось вывести в этот список еще и личные блоги пользователей.
Этот способ решения проблемы с выводом списка блогов придуман лично мной, и я не гарантирую, что он рационален, прост или полностью правилен
Порыскав по системным файлам, отслеживая выполнение кода, я нашел функцию, которая составляет этот список, а в ней и запрос к базе данных
Это функция GetBlogsRating в файле classes/modules/blog/mapper/Blog.mapper.class.php приблизительно на 280 строке
Посмотрев на нее, видно, что в запросе к базе данных фильтруются персональные блоги:
По умолчанию у личных блогов нет своего собственного url-адреса, они доступны по адресу site.ru/my/имя_пользователя. Поэтому, если мы просто уберем эту проверку, блоги выведутся, но ссылка будет вести в никуда
Поэтому я решил сделать следующим образом: выводить в список те блоги, у которых есть url-адрес
Я заменил вот эту проверку:
Сейчас ничего не изменится, так как у персональных блогов в базе данных url-адрес указан как NULL
Дальше есть несколько вариантов действий:
Я пошел по второму варианту, сайт был на стадии разработки, поэтому у существующих персональных блогов я поправил url-адреса вручную, а для присвоения какого-либо url-адреса новым персональным блогам я изменил скрипт создания персональных блогов
Для этого, в том же Blog.mapper.class.php нашел функцию CreatePersonalBlog приблизительно на 260 строке
Я уже не помню, устанавливается ли там url-адрес для персонального блога или нет. В общем ищем там (в функции) строку:
Вместо этого «что-то там» и надо подставить url-адрес блога. Важно, чтобы он был уникален
Туда можно подставить логин пользователя:
Но лучше что-нибудь еще добавить к этому, к примеру:
Теперь эти блоги появятся в списке (не забудьте почистить кеш!) и ссылки на них будут работать правильно
У этого способа правда есть недостатки: происходит дублирование контента, адреса my/имя_пользователя и blog/blog_имя_пользователя содержат один и тот же текст, что может не понравится поисковикам
Плюс к этому, по адресу my/имя_пользователя будет отображаться немного другое меню, эту проблему я пока не стал решать, но ее я думаю можно решить на уровне шаблона: в шаблоне блога проверять, не является ли он персональным и подключать соответствующее меню в этом случае
Для сайтов, которые уже давно работают и где уже много персональных блогов будет трудно (а возможно и очень трудно) поменять в базе данных вручную все url-адреса персональных блогов. Поэтому можно придумать какой-нибудь sql-запрос к базе данных, вроде этого:
Предупреждаю, что этот запрос может быть неправильным, я его не тестировал и придумал прямо сейчас на ходу. Суть его в следующем: для блогов, у которых нет url-адреса, установить его равным логину автора блога.
В общем, эту проблему со списком блогов я решил именно так, может быть, вам пригодится
Этот способ решения проблемы с выводом списка блогов придуман лично мной, и я не гарантирую, что он рационален, прост или полностью правилен
Порыскав по системным файлам, отслеживая выполнение кода, я нашел функцию, которая составляет этот список, а в ней и запрос к базе данных
Это функция 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-адреса, установить его равным логину автора блога.
В общем, эту проблему со списком блогов я решил именно так, может быть, вам пригодится
Помечаем куски шаблонов в скомпилированой странице for 0.5.1
25
Навеяно топиком, хотя сам использую для верстки практически с момента выхода 05 версии, както не подумал что это может быть полезно и другим ;) исправляюсь )
Читать дальше
Читать дальше
Серьезное предложение по шаблонизатору.
2
Всем привет долго я занимался версткой, и Joomla десятки шаблонов и WP пару десятков. И даже vBulletin 3.8 ой мама дорогая и даже 4.* (кто знает тот поймет :))
Так что мне есть с чем сравнивать шаблонизатор LS, хорошо что выбрали Smarty очень умненький и интуитивный, как верстальщик это говорю.
Но в чем проблема не всегда понятно где какой шаблон? в каком Action или еще где? А бывает ИНОГДА что плагин БЛИН заменяет шаблон, не знаю почему такое решение выбрали :) как мне кажется не самое удачное но ладно. ПО мне так хуки лучшее решение…
Ну так в чем ПРЕДЛОЖЕНИЕ!
Читать дальше
Так что мне есть с чем сравнивать шаблонизатор LS, хорошо что выбрали Smarty очень умненький и интуитивный, как верстальщик это говорю.
Но в чем проблема не всегда понятно где какой шаблон? в каком Action или еще где? А бывает ИНОГДА что плагин БЛИН заменяет шаблон, не знаю почему такое решение выбрали :) как мне кажется не самое удачное но ладно. ПО мне так хуки лучшее решение…
Ну так в чем ПРЕДЛОЖЕНИЕ!
Читать дальше
Модификации за $
1. Нужно модифицировать профиль пользователя на вот такой логин livestreet пароль demo11 чтобы посмотреть как выглядит. Блок «Моя личная страница» кроме кладки мои действия, но в принципе и он бы не помешала, а так смотрите там как она работает.
Читать дальше
Читать дальше
- 0
- 22 октября 2010, 14:47
- job
- Оставить комментарий
Большие хотелки
Есть желание на основе лайвстрит проапрейдить текущий турсайт
общая структура
страна-регион-(город)-отель
город может отсутствовать
туры(хтмл, файл) привязаны к любому объекту из структуры регионов, тур тегируется видом(экскурсионные, горящие и тд) возмност коментов и добавления фотогалереи или привязки к текущей
для региона(города) погода(импорт weather.com или гизметео), интересные места(тегируются-музеи, рестораны и тд) для интересных мест возможность коментариев
для отеля — отзывы (текст, фото, (видео?)) с возможность коментов. Возможность для пользователя добавлять фото и видео без публикации отзывы.
фото — должны публиковаться в контексте страны региона отеля возможность постинга фоток на любом из этих уровней. Коментарии к фоткам. Рейтинг.
Поиск пары.
Блоги возможность привязки поста из блога к определенной стране — региону.
малость сумбурно, но суть я думаю ясна
от Вас деньги и время на разработку, предложения на мыло rybkin.v@gmail.com, или ася 5167881
общая структура
страна-регион-(город)-отель
город может отсутствовать
туры(хтмл, файл) привязаны к любому объекту из структуры регионов, тур тегируется видом(экскурсионные, горящие и тд) возмност коментов и добавления фотогалереи или привязки к текущей
для региона(города) погода(импорт weather.com или гизметео), интересные места(тегируются-музеи, рестораны и тд) для интересных мест возможность коментариев
для отеля — отзывы (текст, фото, (видео?)) с возможность коментов. Возможность для пользователя добавлять фото и видео без публикации отзывы.
фото — должны публиковаться в контексте страны региона отеля возможность постинга фоток на любом из этих уровней. Коментарии к фоткам. Рейтинг.
Поиск пары.
Блоги возможность привязки поста из блога к определенной стране — региону.
малость сумбурно, но суть я думаю ясна
от Вас деньги и время на разработку, предложения на мыло rybkin.v@gmail.com, или ася 5167881
- -1
- 16 июля 2010, 23:48
- apigon
- Оставить комментарий
Программист на длительное сотрудничество
1
Привет всем!
Разыскивается программист, хорошо разбирающийся в структуре нашего любимого движка! Работа большая, оплата: от 1000$, в основном — работа с изображениями (загрузка картинок, фотогалерея, события, видеогалерея, и т.д.).
Техническое задание почти готово, только скриншоты еще не все нарисовал. Работа не требующая быстрых сроков, главное качество.
Если сработаемся, имеется вторая часть работы, почему и упомянул в заголовке о длительном сотрудничестве. Пишу здесь, потому что на фрилансе сплошные кидалы, к тому же ничего не смыслящие в LS.
Пишите здесь в личку, или в аську 2894302.
Разыскивается программист, хорошо разбирающийся в структуре нашего любимого движка! Работа большая, оплата: от 1000$, в основном — работа с изображениями (загрузка картинок, фотогалерея, события, видеогалерея, и т.д.).
Техническое задание почти готово, только скриншоты еще не все нарисовал. Работа не требующая быстрых сроков, главное качество.
Если сработаемся, имеется вторая часть работы, почему и упомянул в заголовке о длительном сотрудничестве. Пишу здесь, потому что на фрилансе сплошные кидалы, к тому же ничего не смыслящие в LS.
Пишите здесь в личку, или в аську 2894302.
- +1
- 13 июля 2010, 20:00
- nickostyle
- Оставить комментарий
Хак: якорь на месте <cut>.
8
При переходе по ссылке «Читать далее» топик открывается с начала страницы, а не с места размещения ката. Данный хак поможет это исправить.
Как?
Как?
Модуль "Галерея" (изменение функционала)
Добрый день/вечер!
Имеется модуль «Галерея», необходимо изменить функционал, по итогам изменений модуль больше будет похож на каталог, наверное. Подробней, опишу мылом.
Разрешение автора получено.
Кто может сделать? Естественно не безвозмездно.
Либо, создание модуля снуля! Также не безвозмездно.
Имеется модуль «Галерея», необходимо изменить функционал, по итогам изменений модуль больше будет похож на каталог, наверное. Подробней, опишу мылом.
Разрешение автора получено.
Кто может сделать? Естественно не безвозмездно.
Либо, создание модуля снуля! Также не безвозмездно.
Хак: Ограничение доступа к части топика по рейтингу
14
Попробую ниже детально описать, как сделать возможность при создании топика ограничивать некоторую информацию по уровню рейтинга пользователя. Для этого, надо будет при добавлении топика разрешить новый тег и добавить кнопку в панельку для него (чуть позже). На втором этапе, надо будет перед отдачей топика в шаблонизатор проверять текст на наличие этого тега и делать соответствующие правки. Для этого будет использоваться следующий следующий синтаксис при создании топика:
Читать дальше
<rating min="2">Виден пользователям с рейтингом большим или равным 2.</rating>
Читать дальше
Изменение логина
3
Добрый день.
Начал разбираться в этом чудесном движке. Решил «сделать что-нибудь» полезное, долго думал и заметил, что нельзя в настройках профиля менять логин. Решил добавить такую возможность. И по ходу добавления возникли проблемы.
Читать дальше
Начал разбираться в этом чудесном движке. Решил «сделать что-нибудь» полезное, долго думал и заметил, что нельзя в настройках профиля менять логин. Решил добавить такую возможность. И по ходу добавления возникли проблемы.
Читать дальше
- +1
- 03 декабря 2009, 18:54
- solo12zw74
- 9