В файле /classes/modules/blog/mapper/Blog.mapper.class.php ищем функцию:
public function GetBlogsRating(&$iCount,$iCurrPage,$iPerPage) {
$sql = "SELECT
b.blog_id
FROM
".Config::Get('db.table.blog')." as b
WHERE
b.blog_type<>'personal'
ORDER by b.blog_rating desc
LIMIT ?d, ?d ";
$aReturn=array();
if ($aRows=$this->oDb->selectPage($iCount,$sql,($iCurrPage-1)*$iPerPage, $iPerPage)) {
foreach ($aRows as $aRow) {
$aReturn[]=$aRow['blog_id'];
}
}
return $aReturn;
}
Соот-но, вместо "..." можно организовать вызов типа
<!--#include file="lastPost.php" -->
А в твоем lastPost.php и делать выборку посл.постов по тому sql-запросу, что я написал. Анонс до можно брать из поля topic_text_short.ls_topic_content (т.е. таблицы ls_topic_content).
Особых проблем не вижу. Я на своем www.relaxrostov.ru использовал nivo-slider2.3 (но у него из-за моей верстки вылезает вправо невидимый div. А поставить Easy Slider 1.5 на LS не удалось: из-за использования mootools у первого timeout сбивался и скорость увеличивалась в 2 раза).
Выводить обычным php-скриптом в
<div id="sliderContent">
</div>
последние топики в виде div или li из БД вообще не проблема: структура известна таблиц, sql-запрос написать непроблема.
$query="SELECT * FROM ls_topic WHERE 1=1 ORDER BY `topic_id` DESC LIMIT 1";
/classes/modules/comment/mapper/Comment.mapper.class.php
открываем файл и заменяем в 161 строчке (ORDER by comment_id asc;) asc на desc
должно получиться: ORDER by comment_id desc;
В ActionProfile EventWhois добавьте код из ActionMy EventTopics и подключите нужный шаблон. Либо по средством плагина, либо хуками, как крайний вариант прямым редактированием соответствующего акшина.
Вообщем сам разобрался с плагином, предлагаю примерный вариант (рабочий) взаимодействия плагина aceBlockManager со всеми имеющимися на данный момент блоками (стандартными блоки, входящие в состав движка, блоками плагина Дополнительные блоки и блоки самого плагина aceBlockManager) Повторяю, данный способ это мой варинат взаимодействия и размещения блоков по приоритетности, у вас он может быть своим. Вообщем вдруг кому пригодится…
/***
* Параметры модуля
*/
/***
* Сброс блоков - сбрасывать/не сбрасывать установку блоков, которая
* задается во actions
*
* Например:
* $config['clear_blocks'] = true; // Сбросить все блоки
*
* $config['clear_blocks'] = false; // Не сбрасывать блоки
*
* $config['clear_blocks'] = array('include'=>'index,blog');
* // Cбрасывать блоки, которые заданы в actions index и blog
*
* $config['clear_blocks'] = array('exclude'=>'admin, people, profile');
* // Cбрасывать блоки во всех actions, кроме admin и profile
*/
$config['clear_blocks'] = false;
$config['clear_blocks'] = array('include'=>'index,blog,personal_blog'); // Cбрасывать блоки, которые заданы в actions index и blog
$config['blocks'][]=array(
'block'=>'template', // название блока
'position'=>'right', // позиционирование блока
'params'=>array(
'plugin'=>'aceblockmanager', //
//'title'=>'title of template block',
'file'=>'block.google.tpl',
),
'exclude'=>array('admin', 'settings', 'profile', 'talk', 'people', 'top', 'topic', 'question', 'link', 'blog/add', 'adsense', 'blogs', 'my'),
);
$config['blocks'][]=array(
'block'=>'stream', // название блока
'position'=>'right', // позиционирование блока
'include'=>'index,blog,personal_blog', // на каких страницах показывать
//'exclude'=>'top', // на каких страницах НЕ показывать
);
$config['blocks'][]=array(
'block'=>'tags', // название блока
'position'=>'right', // позиционирование блока
'include'=>'index,blog,personal_blog', // на каких страницах показывать
//'exclude'=>'top', // на каких страницах НЕ показывать
);
$config['blocks'][]=array(
'block'=>'blogs', // название блока
'position'=>'right', // позиционирование блока
'include'=>'index,blog,personal_blog', // на каких страницах показывать
//'exclude'=>'top', // на каких страницах НЕ показывать
);
$config['blocks'][]=array(
'block'=>'template', // название блока
'position'=>'right', // позиционирование блока
'params'=>array(
'plugin'=>'aceblockmanager', //
//'title'=>'title of template block',
//'text'=>'text1 text1 text1',
//'footer'=>'footer1',
'file'=>'block.reklama.tpl',
),
'exclude'=>array('admin', 'settings', 'profile', 'talk', 'people', 'top', 'topic', 'question', 'link', 'blog/add', 'adsense', 'blogs', 'my'),
);
$config['blocks'][]=array(
'block'=>'TopTopics', // название блока
'position'=>'right', // позиционирование блока
'params'=>array(
'plugin'=>'lsblocks', //
),
'include'=>'index', // на каких страницах показывать
);
$config['blocks'][]=array(
'block'=>'TopUsers', // название блока
'position'=>'right', // позиционирование блока
'params'=>array(
'plugin'=>'lsblocks', //
),
'include'=>'index', // на каких страницах показывать
);
$config['blocks'][]=array(
'block'=>'usersonline', // название блока
'position'=>'right', // позиционирование блока
'params'=>array(
'plugin'=>'aceblockmanager', //
'users_max'=>20, // Максимальное число отображаемых пользователей
'users_period'=>5*60, // Время, в течение которого пользователь считается в онлайне (сек)
'renew_time'=>5, // Время обновления (сек)
),
'exclude'=>array('admin', 'blog', 'personal_blog', 'settings', 'profile', 'talk', 'people', 'top', 'my', 'topic', 'question', 'link', 'blog/add', 'adsense', 'blogs'),
);
return $config;
// EOF
Таким образом, я использую 2 Template блока, в конфиге они стоят первым и пятым (первый для Google рекламы, пятый для баннера). У вас их может и не быть вовсе или может быть другое использование Template блоков (читаем выше->топик).
Все, что стоит за двумя // можно не вписывать, просто лень было удалять ))
Ищем в ней строку:
Заменяем на
Чистим кеш и радуемся.
в \include\ajax\voteTopic.php после кода
добавить
и советую расчет рейтинга в строчке
придумать свой.
ну и не идеальный вариант не претендую
и в ActionBlogs.class.php меняем
на
в promo.html прописан слайдер
Соот-но, вместо "..." можно организовать вызов типа
А в твоем lastPost.php и делать выборку посл.постов по тому sql-запросу, что я написал. Анонс до
Выводить обычным php-скриптом в
последние топики в виде div или li из БД вообще не проблема: структура известна таблиц, sql-запрос написать непроблема.
Единственное, что плагины к LS я не пишу.
открываем файл и заменяем в 161 строчке (ORDER by comment_id asc;) asc на desc
должно получиться: ORDER by comment_id desc;
в 180 строчке тоже можно заменить
Как то-так наверно
заменить на
Но тогда записи блога будут по адресу new.redsys.ru/blog/blog/1234.html, что не есть хорошо
не пашед)
/subdir — тут надо вписывать что то или нет?
пробовал по всякому но в ответ таже история)
Если на домен третьего уровня, то оставить всё как есть.
Итоговый код, если кому понадобится:
#leftcolumn { width: 15%; float: left; margin-left: 1%; margin-top: -6px; }
#content { width: 58%; background: #fff; float: left; padding-top: 20px; padding-bottom: 20px; zoom: 1; }
#sidebar { width: 25%; float: left; margin-left: 1%; margin-top: -6px; }
потом в header перед
добавь
далее создай файл leftbar.tpl и туда пиши что хочешь
Таким образом, я использую 2 Template блока, в конфиге они стоят первым и пятым (первый для Google рекламы, пятый для баннера). У вас их может и не быть вовсе или может быть другое использование Template блоков (читаем выше->топик).
Все, что стоит за двумя // можно не вписывать, просто лень было удалять ))
т.е. прописал не , а