Чтоб в хлам не накосячить, хочу узнать у прошаренных, можно ли будет так сделать. Нужно, чтобы в боковой панели (не под аватаром в сообщениях, а на главной например) под ником отображалась информация, которая берется из соседней базы данных, есть ли какие-либо способы сделать это более просто чем собираюсь, ну или вообще правильный ли подход будет.
Напишу по шагам то, что планирую сделать:
1. Вручную добавляю еще один столбец `worms` в таблицу 'xf_user'.
2. Создаю файл '/library/worms/cron.php' с содержимым:
3. Добавляю в крон ксена обработчик worms_cron::addWorm
4. Добавляю в шаблон sidebar_visitor_panel эту инфу:
Примерно так планирую сделать. Есть соображения почему нельзя или не нужно таким образом переносить и отображать информацию из соседней базы ? Ну или возможно есть какая-либо оптимизация под эту задачу.
ps: хз почему червяки, просто что в голову пришло
id - ну дефолтный столбец
xf_id - ид пользователя в базе ксена (не у всех в этой базе заполнено это поле, по дефолту 0)
worms - тут цифра, сколько червяков (вот ее надо будет выводить в сайдбаре)
xf_id - ид пользователя в базе ксена (не у всех в этой базе заполнено это поле, по дефолту 0)
worms - тут цифра, сколько червяков (вот ее надо будет выводить в сайдбаре)
Напишу по шагам то, что планирую сделать:
1. Вручную добавляю еще один столбец `worms` в таблицу 'xf_user'.
2. Создаю файл '/library/worms/cron.php' с содержимым:
PHP:
class worms_cron
{
public static function addWorm()
{
//тут подключение к базе с червяками
SELECT worms FROM база WHERE xf_id>0 ;
//дальше циклом перемещаем инфу в массив какойнибудь
while ($loop) {
$chervyak[$xf_id] = $worms;
};
//отрубаемся от базы червяков и подключаемся к ксену
foreach($cheryak as $id=>$worms) {
UPDATE xf_user SET `worms`=$worms WHERE user_id=$id LIMIT 1;
//поидее все
};
}
}
4. Добавляю в шаблон sidebar_visitor_panel эту инфу:
Код:
<xen:hook name="sidebar_visitor_panel_stats">
<dl class="pairsJustified"><dt>{xen:phrase messages}:</dt> <dd>{xen:number $visitor.message_count}</dd></dl>
<dl class="pairsJustified"><dt>{xen:phrase likes}:</dt> <dd>{xen:number $visitor.like_count}</dd></dl>
<dl class="pairsJustified"><dt>Червяков:</dt> <dd>{xen:number $visitor.worms}</dd></dl>
</xen:hook>
Примерно так планирую сделать. Есть соображения почему нельзя или не нужно таким образом переносить и отображать информацию из соседней базы ? Ну или возможно есть какая-либо оптимизация под эту задачу.
ps: хз почему червяки, просто что в голову пришло
Последнее редактирование: