Изменения в темах и плагин adsense для мобильных устройств
26.08.2009В сегодняшнем обновлении исправления и добавления. Подправлена мобильная версия, в том числе и после установки блоголёта. Добавлен новый тег body и событие для него в классе TTemplate - его использование смотрите в новом плагине для мобильного сайта. Сам плагин не включен в поставку, так как содержит php код гугле, который генерируется в настройках адсенса. Скачать плагин можно из репозитария, надо будет посмотреть точную ссылку, в папке utils, а не в plugins.
Изменена работа с классами ссылок в комментариях - теперь в шаблоне comments.ini можно задавать класс для четных и нечетных комментариев. Также появился класс ссылки для навигационных ссылок (это там где ссылки с цифрами на страницы).
Изменен адрес для подписчиков на комментарии с /comments/subscribe/ на /admin/subscribe/ Сделаны еще какие то исправления.
Комментарии (12) на запись “Изменения в темах и плагин adsense для мобильных устройств”
Оставить комментарий
Спасибо за обновление!
Пока его ждал решил сделать плагин для навигации, который показавает ссылки на предыдущие/следующие страницы (без номеров).
Вот что у меня получилось:
<?php
class THomepageNavi extends TTemplatePost {
public static function &Instance() {
return GetInstance(__class__);
}
public function myPrintNaviPages($url, $page, $count) {
global $Options;
if (!(($count > 1) && ($page >=1) && ($page <= $count))) return '';
$url = rtrim($url, '/');
if ($page != 1) {
$nextpage = $page - 1;
$result .= "<p><a href=\"$Options->url$url/page/$nextpage/\">Далее</a></p>\n";
}
if ($page != $count) {
$prevpage = $page + 1;
$result .= "<p><a href=\"$Options->url$url/page/$prevpage/\">Предыдущие записи</a></p>\n";
}
}
}//class
class THomepageNavi extends THomepage {
public static function &Instance() {
return GetInstance(__class__);
}
public function GetTemplateContent() {
global $Options, $Urlmap;
$result = '';
if ($Urlmap->pagenumber == 1) $result .= $this->text;
if ($this->hideposts) return $result;
$items = $this->GetItems();
$TemplatePost = &TTemplatePost::Instance();
$result .= $TemplatePost->PrintPosts($items);
$Posts = &TPosts::Instance();
$result .=$TemplatePost->myPrintNaviPages($Options->home, $Urlmap->pagenumber, ceil(count($Posts->archives)/ $Options->postsperpage));
return $result;
}
}//class
?>
Получается что один класс расширяет сразу 2 класса, может надо extends TPlugin? Еще не знаю как установить этот плагин, а вообще он правильный?
С одной стороны вроде как и правильно, ми по идее должно работать, но с другой стороны теоритически правильным было бы перекрыть в новом классе потомке от TTemplatePOst mpметод PrintNaviPages, но для этого необходимо, чтобы TTemplatePost::Instance() возвращал актуальный экземпляр объекта, в частности твой плагин. Следовательно необходима дополнительная регистрация стандартных классов, пример такого - класс TTemplate - в его реализации заложено и реализовано, что может быть совсем другой класс, чем TTemplate. Абстрагируясь необходимо сделать централизованную таблицу (обыкновенный массив), где бы подставлялся нужный класс. Такая потребность возниккла еще и для других стандартных классов, например я задумался сделать систему тикетов, и там будет новый класс TTicket - потомок от TPost, а во всем блоголёте используется класс TPost - так что же переписывать под тикет систему весь блоголёт? Глупо - достаточно где нибудь в одном месте указать, что для постов используется класс TPost, для его шаблонов TTEmplatePost, и захотел что то модифицировать - указал другие классы, например как у тебя.
Так что назрела очередная переработка ядра блоголёта в сторону еще большей абстракции, но это совсем никак не скажется на производительности движка.
Warning: array_intersect() [function.array-intersect]: Argument #1 is not an array in /домен/lib/postsclass.php on line 197
но вроде это уже на заметке...
Жду обновления.
Я столкнулся с такой штукой, когда вставляю код счетчика в текстовый виджет в админке Блоголета, с подключенным плагином NicEdit, то выводится код счетчика. Если плагин отключаешь, то все нормально.
Оказалось, что можно вставлять коды и при подключенном плагине NicEdit, просто перед вставкой не забудьте кликнуть в редакторе "Edit HTML".
на 404 странице не форматируется текст, т.е. строка не переносится, и если не влезает, то уходит под правый сайдбар.