- Сообщений: 62
- Спасибо получено: 1
Как создать и настроить свой веб-сервер на VDS (05 сен 2024)
Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?
Курс валют Joomla - JL Currency
- beginner
- Автор темы
- Не в сети
- Захожу иногда
Less
Больше
8 года 1 мес. назад #1
от beginner
beginner создал тему: Курс валют Joomla - JL Currency
Понадобился мне тут модуль курса валют для сайта, скачал Курс валют Joomla - JL Currency с joomline.ru и обнаружил неприятную особенность: время от времени, когда данные с ЦБР не приходят, модуль рушит странички на которых опубликован. Есть идеи, как избежать такого?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Aleksej
- Не в сети
- Модератор
8 года 1 мес. назад #2
от Aleksej
Aleksej ответил в теме Курс валют Joomla - JL Currency
Попробуйте
наш модуль
, и обязательно используйте кэширование в Advanced. Страничку точно не рушит, но, возможно, придумаем еще кое-какие улучшения с кэшированием.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- serge
- Не в сети
- Модератор
Less
Больше
- Сообщений: 988
- Спасибо получено: 146
8 года 1 мес. назад #3
от serge
неужто кэширование модуля не помогает?
А я смогу! - А поглядим! - А я упрямый!
serge ответил в теме Курс валют Joomla - JL Currency
beginner пишет: время от времени, когда данные с ЦБР не приходят, модуль рушит странички на которых опубликован.
неужто кэширование модуля не помогает?
А я смогу! - А поглядим! - А я упрямый!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Aleksej
- Не в сети
- Модератор
8 года 1 мес. назад - 8 года 1 мес. назад #4
от Aleksej
Aleksej ответил в теме Alternative caching Joomla module
Анонс статьи
Alternative caching Joomla module
в блоге, также превью кода для модуля
jExchange rates CBR
:
Code:
<?php
defined('_JEXEC') or die('Restricted access');
$curDate = date('d/m/Y', mktime(0,0,0,date("n"),date("j")+1,date("Y")));
$curDate2 = date('d/m/Y', mktime(0,0,0,date("n"),date("j")-($params->get('date2')),date("Y")));
$urls = new ArrayObject(
array(
'http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1='.$curDate2.'&date_req2='.$curDate.'&VAL_NM_RQ=R01235'
,'http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1='.$curDate2.'&date_req2='.$curDate.'&VAL_NM_RQ=R01239'
)
,ArrayObject::ARRAY_AS_PROPS
);
// Caching
$cache = JFactory::getCache('mod_jexchange_rates_cbr', '');
$cache->setCaching(true); // Force cache enable
$cache->setLifeTime(1);
$cacheKey = (string)$urls->serialize();
if (!($data = $cache->get($cacheKey, ''))){
var_dump('DEBUG: Cache empty. Obtain data from service');
foreach ($urls as $i => $url){
$data[$i] = file_get_contents($url);
}
$cache->store($data, $cacheKey);
}
else{
var_dump('DEBUG: Cache present');
}
// \Caching
# @TODO it is also good idea place it in array of object instead of 2 separate variables
$currencyXML = simplexml_load_string($data[0]);
$currencyXML1 = simplexml_load_string($data[1]);
if ($params->get('chart_select') == 0){
require('charts/area');
}
elseif ($params->get('chart_select') == 1) {
require('charts/stepped');
}
elseif ($params->get('chart_select') == 2) {
require('charts/combo');
}
else {
require('charts/line');
}
Последнее редактирование: 8 года 1 мес. назад пользователем Aleksej.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.