Вы не зашли.
Страницы 1
конвертация на стороне клиента http://josscrowcroft.github.com/money.js
в принципе устраивает и js, просто не хочется лезть каждый раз в код для смены курса,
ну и некоторые пользователи любят сёрфить с откл. js.
может можно решить средствами CMS? (предоставить возможность ввода 2-3 курсов валют в админке, регистрировать в main.tpl переменные, содержащие эти курсы и делать пересчет с помощью того же money.js )
Вопрос когда-нибудь будет актуален, ведь появился плагин basket
Изменено nevermind (2012-11-29 02:14:37)
Не в сети
Как получить ID новости ($newsID) в short_news, для full_news.tpl работает $SYSTEM_FLAGS['news']['db.id'].
Нужно для модификации значения поля xfields для соотв. новости.
Изменено nevermind (2012-12-02 14:29:17)
Не в сети
nevermind, какая версия?
В последних SVN версиях в шаблонах news.short.tpl / news.full.tpl (см. документацию) можно использовать TWIG переменную news.id
[TWIG] {{ news.id }}[/TWIG]
Не в сети
nevermind, какая версия?
В последних SVN версиях в шаблонах news.short.tpl / news.full.tpl (см. документацию) можно использовать TWIG переменную news.id[TWIG] {{ news.id }}[/TWIG]
извини, неправильно описал ситуацию, эта переменная нужна в коде плагина ,
и отдельно прошу простить за код:
if (!defined('NGCMS')) die ('HAL');
add_act('index', 'price');
function price() {
global $template, $mysql, $tpl, $SYSTEM_FLAGS;
$price_field = extra_get_param('price','main_price');
$euro_exchange_rate = intval(extra_get_param('price','euro_exch'));
$uah_exchange_rate = intval(extra_get_param('price','uah_exch'));
if ($SYSTEM_FLAGS['news']['db.id']) {
$usd_price = $mysql->select("select $price_field from ".prefix."_news where id =".$SYSTEM_FLAGS['news']['db.id']);
}
$usd = $usd_price[0][$price_field];
$uah = $uah_exchange_rate*$usd;
$euro = $usd/$euro_exchange_rate;
$tvars['vars'] = array(
'euro' => $euro,
'uah' => $uah
);
$tpath = locatePluginTemplates(array('price', 'entries'), 'price');
$tpl -> template('entries', $tpath['entries']);
$tpl -> vars('entries', $tvars);
$v .= $tpl -> show('entries');
$tvars['vars'] = array ( 'entries' => $v);
$tpl -> template('price', $tpath['price']);
$tpl -> vars('price', $tvars);
$output .= $tpl -> show('price');
$template['vars']['price'] = $output;
}
?>
в полной новости эта переменная есть, вопрос в том как получить её в краткой новости.
Изменено nevermind (2012-12-02 19:07:15)
Не в сети
Тихий ужас
Тебе ведь нужно делать модификацию только для news.short/full.tpl, верно?
Тогда прямая дорога к использованию новостных фильтров:
class XXXNewsFilter extends NewsFilter {
function showNews($newsID, $SQLnews, &$tvars, $mode = array()) {
...
register_filter('news','XXX', new XXXNewsFilter);
Пример кода можно подсмотреть в плагине xfields.
Но более показателен будет плагин basket, т.к. он уже использует данные из xfields.
Внутри функции showNews() ты сможешь сделать:
$xf = xf_decode($SQLnews['xfields']);
...
и создать свои собственные переменные, которые будут доступны в news.short/full.tpl
Кроме того, тебе не потребуется делать лишних SQL запросов к БД.
Не в сети
Страницы 1