+60.64
450 читателей, 105 топиков

Доработка RSS потока

В RSS до cut

Почти сразу, как поставил движок, передо мной встал вопрос: как отдавать в rss долько до кут? Не хотелось мне отдавать полные топики в ленту, т.к. материалы можно почитать на сайте, а школьникам лентяям отрезать возможность что-то полезное оттуда грабить.

Теперь это решение кажется уже довольно простым. Достаточно в экшене ActionRss.class.php в одной из функций (например RssGood) изменить одну строку на:

$item['description']=$oTopic->getTextShort();


Последние материалы блога в rss

Тут же вылезла проблема, что прочитав анонс пользователю ну совершенно некуда кликнуть. Что согласитесь — форменный бардак. Решил, что нужны «читать далее» и «последние посты топика». Теперь в rss канале футер анонса выглядит так:



Тут порядок такой. В том же файле в той же функции вставлем после:

foreach ($aTopics as $oTopic){


Этот код:

$aFooter="";
$aMyBlogId=$oTopic->getBlogId();
$aMyResult=$this->Topic_GetTopicsByBlogGood($this->Blog_GetBlogById($aMyBlogId),0,1,3);
$aMyTopics=$aMyResult['collection'];
foreach ($aMyTopics as $oMyTopic){
  $aFooter=$aFooter.'<li><a href='.$oTopic->getUrl().'>'.$oMyTopic->getTitle().'</a></li>';
}


А ту переменную, что мы уже меняли выше, заменяем на:

$item['description']=$oTopic->getTextShort().'

<a href='.$oTopic->getUrl().'>читать полностью</a>

<b>Последнее из блога:</b> <a href='.$oTopic->getBlogUrlFull().'>'.$oTopic->getBlogTitle().'</a><br /><br /><ul>'.$aFooter.'</ul>';


Вот собственно и все. У кого есть мысли по поводу развития темы дополнений в rss, пишите — обсудим.

Рабочий пример как обычно можно увидеть на TechFuture RSS — в данном случае в rss хороших топиков.

UPD: Исправлены ошибки, дополнен код.

Последние топики автора (доработка блока "Данные автора топика")

Первая статья — Блок с данными автора на странице топика

Одним из пунктов, что я себе ставил задумывая этот блок — это список последних постов автора. Собственно сегодня тот день, когда это реализовалось.


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

Блок с данными автора на странице топика

Помнится еще в начале своего прибывания на Хабре долго не мог понять, почему чтоб отметить автора необходимо сделать столько движений? Как не нравилось мне это — так и не нравится. Что собственно и стало причиной доработки, которой с вами делюсь. По ходу пьессы буду комментировать, что и к чему в итоге привело.

Задача: вывести при просмотре топика блок с информацией об авторе топика в сайдбаре справа следующего вида:


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

Добавляем превьюшку к топику

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



Пример как это все выглядит «вживую» можно посмотреть на "Новой музыке". А вот сам код и алгоритм воплощения этой идеи:
Читать дальше →

Создание URL блога для людей

Опубликую идею которую в идеале стоило бы допинать полностью, но я надеюсь, что она будет услышана Ort-ом и реализована в виде родной возможности. А суть очень проста — избавить пользователей от написания URL при создании общего блога.
Читать дальше →

валидация тега <cut>

Сейчас занимаюсь созданием сайта на базе данной CMS. Может кто-то обвинит меня в излишней скурпулезности, но я люблю чтобы мои сайты были валидными. Вопрос в тэге
<cut>
, дело в том что этот тэг является не HTML тэгом, а внутренним тэгом CMS, и поэтому в коде страниц этого тэга быть не должно во избежание всяческих эксцессов. При добавлении или редактировании топика данный тэг не удаляется из текста топика после разбиения его на анонс и полный текст. Я поступил следующим образом:

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

OpenID реализация

Для реализации вам потребуется:
  1. добавить поле user_openid в таблицу пользователей

  2. Изменить форму входа, которая на каджой странице

  3. Изменить форму входа, которая на странице входа

  4. Изменить модельку пользователя

  5. Изменить actionRegister


Кстати кат я переделал, у меня нормально работал. В tinyMCE — обрезает по [cut]

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

Создание админки. ч2. Создание своего меню, получение и сохранение настроек.


И так, продолжаем. В этой части будет расказано как создать меню (как на картинке) и воспользоваться модулем из предыдущего урока.
Для создания меню(панели админа) необходимо в каталоге «templates\skin\habra\» создать файл «menu.admin.tpl» (код файла приведен ниже).
Основное на что стоит обратить внимание это переменные: $sMenuItemSelect — с помощью нее можно узнать выбранное основное меню (например «Админка»), $sMenuSubItemSelect — это подменю которое выбрано (например, «Сайт»), а также стоит обратить внимание на указанные пути ссылок типа "{$DIR_WEB_ROOT}/admin/site/" от них будет зависеть какое действие будет вызываться.

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