Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите побороть модуль Latest Products
Форумы портала PHP.SU » » CMS и фреймворки » Помогите побороть модуль Latest Products

Страниц (1): [1]
 

1. Wooorker - 27 Ноября, 2014 - 13:31:56 - перейти к сообщению
Помогите побороть модуль Latest Products.
Вывожу его в позиции Slider - пусто.
За вывод его на экран отвечает templates\it_theshop2\html\mod_jshopping_latest_products\default.php.
PHP:
скопировать код в буфер обмена
  1. defined('_JEXEC') or die('Restricted access');
  2. $app = JFactory::getApplication();
  3. $document = &JFactory::getDocument();
  4. $document->addScript('templates/' . $app->getTemplate(). '/js/jquery.flexslider-min.js');
  5. $document->addStyleSheet('templates/' . $app->getTemplate(). '/css/flexslider.css');
  6. $randomid = rand(100, 999);
  7. $db = JFactory::getDBO();
  8. foreach($last_prod as $key=>$value){

В общем, насколько я понял, у меня $last_prod пустое значение.
Не могу понять из какого файла должен браться этот массив. Соответственно не могу определить в чём проблема.
пробовал дублировать код из modules\mod_jshopping_latest_products\mod_jshopping_latest_products.php
PHP:
скопировать код в буфер обмена
  1.     $product = JTable::getInstance('product', 'jshop');
  2.     $cat_str = $params->get('catids',NULL);
  3.     $rows = $product->getLastProducts($params->get('count_products', 4), $cat_arr);
  4.  

Здесь на этапе $cat_str = $params->get('catids',NULL); сайт "вываливается" в белый экран, хотя echo $params->get('catids',NULL); работает, на экране в это время появляется слово Array.
Выручайте. Осталось побороть только этот Latest Products и captcha.
Сайт http://141[dot]8[dot]196[dot]250/babysize[dot]ru
2. DeepVarvar - 27 Ноября, 2014 - 13:37:01 - перейти к сообщению
Wooorker пишет:
$randomid = rand(100, 999);
Чего?
3. Wooorker - 27 Ноября, 2014 - 19:12:28 - перейти к сообщению
DeepVarvar пишет:
Wooorker пишет:
$randomid = rand(100, 999);
Чего?


Что не так? Обычный рэндом в параметрами min и max.
Дело не в этом. До рэндома даже не доходит. Для вывода чего-либо должен начаться цикл foreach, а в массив $last_prod пуст, и откуда он должен принимать значения - совершенно непонятно.
(Добавление)
Ура! Я починил его Улыбка
Оказывается правильно смотрел в оба файла.
В итоге предположил (и это очевидно из текста), что массив с последними продуктами находится в переменной
PHP:
скопировать код в буфер обмена
  1. $rows = $product->getLastProducts($params->get('count_products', 4), $cat_arr);

соответственно в шаблоне надо её передать в массив
PHP:
скопировать код в буфер обмена
  1. foreach($last_prod as $key=>$value){
, т. е. пишем
PHP:
скопировать код в буфер обмена
  1. $last_prod = $rows;
и всё работает!

 

Powered by ExBB FM 1.0 RC1