DLE Управление RSS информерами

M
На сайте с 29.08.2010
Offline
23
2067

Столкнулся с проблеммой. Нужно для каждой полной новости выводить свой RSS информер.

{inform_ИД} Делаю для ИД доп. поле в новости и естественно свой RSS информер.

1. Информер не выводится в fullstory.tpl, и конструкция {inform_[xfvalue_ИД]} не работает. Выводится тупо {inform_ИД}

2. В sidebar.tpl работает {inform_ИД}, но не работает [xfvalue_ИД]

Подскажите, в каком направлении рыть, чтобы сделать хак для вывода RSS информера в fullstory.tpl

MacDack
На сайте с 23.07.2012
Offline
55
#1
mokos:
Столкнулся с проблеммой. Нужно для каждой полной новости выводить свой RSS информер.
{inform_ИД} Делаю для ИД доп. поле в новости и естественно свой RSS информер.
1. Информер не выводится в fullstory.tpl, и конструкция {inform_[xfvalue_ИД]} не работает. Выводится тупо {inform_ИД}
2. В sidebar.tpl работает {inform_ИД}, но не работает [xfvalue_ИД]

Подскажите, в каком направлении рыть, чтобы сделать хак для вывода RSS информера в fullstory.tpl

Открой файл /engine/modules/show.full.php

Найди строчку - $tpl->set_block("'{banner_(.*?)}'si","");

После нее добавь этот код:

if ($config['rss_informer'])
include_once ENGINE_DIR.'/modules/rssinform.php';
if (count($informers) AND $config['rss_informer']) {
foreach ($informers as $name => $value) {
$tpl->copy_template = str_replace("{inform_".$name."}",$value, $tpl->copy_template);
}
}

Так в fullstory.tpl можно будет добавлять {inform_ИД}

CMS DLE (/ru/users/992868) icq:6три4девять924семь7
M
На сайте с 29.08.2010
Offline
23
#2

Спасибо, {inform_ИД} работает, а вот моя конструкция {inform_[xfvalue_ИД]} не работает. Все также тупо выводится {inform_ИД}

Буду дальше копать :)

MacDack
На сайте с 23.07.2012
Offline
55
#3
mokos:

Буду дальше копать :)

Так, немного побольше информации о конечной цели и может помогу.)

Всмысле может и без допполей реализовать?

M
На сайте с 29.08.2010
Offline
23
#4

Да не секрет. Каталог магазинов через Аdmitad, и выводить акции отдельных магазинов

MacDack
На сайте с 23.07.2012
Offline
55
#5

Так тогда без доп.полей можно сделать просто:

использовать [news=1,2,3....]текст[/news] (1,2,3... - это id-новостей)

В итоге получишь на пример - [news=1]{inform_id1}[/news][news=2]{inform_id2}[/news].... и т.д.

Т.е. будет выводиться именно то и именно там где укажешь, а на остальных (которые не указаны) не будет ничего.

M
На сайте с 29.08.2010
Offline
23
#6

С [news] проблема. У меня DLE 8,5 и обновить практически не возможно. Все родное изгадил.

Кстати, попробовал код (выше) на десятке, не работает, и даже сделал по аналогии с allow_banner, не работает.

MacDack
На сайте с 23.07.2012
Offline
55
#7

Я на 9.8 ориентировался, так как до 10ки еще руки не дошли, а предыдущие уже стал по тихоньку игнорировать)

Завтра чтото придумаю, ато к 8.5 уже не подходил давно.

M
На сайте с 29.08.2010
Offline
23
#8
mokos:
Кстати, попробовал код (выше) на десятке, не работает, и даже сделал по аналогии с allow_banner, не работает.

Тут я ступил, инфрмер на одну категорию сделал, а смотрел в других. видимо пора уже спать

M
На сайте с 29.08.2010
Offline
23
#9

Похоже штатными средствами не обойтись, придется делать хак, присваивать {inform_id} id-новости

Так как я не программист, естественно ничего не получилось.

Сделал файл inform.php

<?

include_once ENGINE_DIR . '/modules/show.full.php';
print "{inform_".$row['id']."}"
?>

Вывел {include file="/engine/modules/shop/inform.php"} в fullstory.tpl

Выводится {inform_}

Как реализовать эту штуку, и еще чтобы при отсутствии {inform_ххх} сам тег было не видно

p.s. строка print "{inform_".$row['id']."}" испортилась

---------- Добавлено 08.07.2013 в 17:19 ----------

print "{inform_$news_id}"; вставил в файл show.full.php

Вывело {inform_7247}, а информер не отработал

Информер работает только если непосредстенно в fullstory.tpl вводить {inform_7247}

Вот геморой

M
На сайте с 29.08.2010
Offline
23
#10

Похоже решения нет?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий