usvam 0 Опубликовано 29 июля, 2013 Жалоба Share Опубликовано 29 июля, 2013 Тема не рез поднималась, попробовала сделать по аналогии с увеличением кол-ва товара в боксе рекомендуемые, но... В box_last_viewed.html вставлена конструкция {foreach name=aussen item=box_content from=$box_content} ... {/foreach} Если в last_viewed.php такую ставить конструкцию $module_content = ''; $products_new = vam_db_query($random_query); while ($products_data = vam_db_fetch_array($products_new)) { $module_content[] = $product->buildDataArray($products_data); } $box->assign('box_content', $module_content); то выводит по прежнему по одному товару Если в last_viewed.php такую ставить конструкцию $module_content = ''; $random_query = vamDBquery($random_query); $random_new = vam_db_fetch_array($random_query,true); while ($products_data = vam_db_fetch_array($random_new)) { $module_content[] = $product->buildDataArray($products_data); } $box->assign('box_content', $module_content); то идет выводит несколько товаров, но вместо картинок идет замена "нет картинки" и вместо названия товара и т.д тоже выводится какая-то лабуда, хотя линки вроде правильные. Подскажите, в чем проблема. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 июля, 2013 Жалоба Share Опубликовано 29 июля, 2013 Проблема в sql запросе, добавьте в него p.products_image колонку в запросе, тогда и будте картинки. А вообще, смотрите название переменных, наверное у Вас где-то ошибка в названии переменых, поэтому и не работает. Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 29 июля, 2013 Автор Жалоба Share Опубликовано 29 июля, 2013 вот сам код last_viewed.php, в нем есть p.products_image $box = new vamTemplate; $box->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/'); $box_content=''; require_once (DIR_FS_INC.'vam_random_select.inc.php'); if (isset ($_SESSION[tracking][products_history][0])) { // include needed functions require_once(DIR_FS_INC . 'vam_rand.inc.php'); require_once(DIR_FS_INC . 'vam_get_path.inc.php'); require_once(DIR_FS_INC . 'vam_get_products_name.inc.php'); $max = count($_SESSION[tracking][products_history]); $max--; $random_last_viewed = vam_rand(0,$max); //fsk18 lock $fsk_lock=''; if ($_SESSION['customers_status']['customers_fsk18_display']=='0') { $fsk_lock=' and p.products_fsk18!=1'; } if (GROUP_CHECK=='true') { $group_check=" and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 "; } $random_query = "select p.products_id, pd.products_name, p.products_image from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '".(int)$_SESSION[tracking][products_history][$random_last_viewed]."' and pd.products_id = '".(int)$_SESSION[tracking][products_history][$random_last_viewed]."' and pd.language_id = '" . $_SESSION['languages_id'] . "' ".$group_check." ".$fsk_lock." order by pd.products_name desc limit ".MAX_RANDOM_SELECT_FEATURED; // $module_content = ''; // $random_query = vamDBquery($random_query); // $random_new = vam_db_fetch_array($random_query,true); // while ($products_data = vam_db_fetch_array($random_new)) { // $module_content[] = $product->buildDataArray($products_data); // } $module_content = array (); $random_query = vamDBquery($random_query); while ($products_data = vam_db_fetch_array($random_query, true)) { $module_content[] = $product->buildDataArray($products_data); } $box->assign('box_content', $module_content); $box->assign('language', $_SESSION['language']); // set cache ID if (!CacheCheck()) { $box->caching = 0; $box_last_viewed= $box->fetch(CURRENT_TEMPLATE.'/boxes/box_last_viewed.html'); } else { $box->caching = 1; $box->cache_lifetime=CACHE_LIFETIME; $box->cache_modified_check=CACHE_CHECK; $cache_id = $_SESSION['language'].$random_product['products_id'].$_SESSION['customers_status']['customers_status_name']; $box_last_viewed= $box->fetch(CURRENT_TEMPLATE.'/boxes/box_last_viewed.html',$cache_id); } $vamTemplate->assign('box_LAST_VIEWED',$box_last_viewed); } закоменчены строки, которые дают вывод нескольких пустых картинок и непонятных названий продукта Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 июля, 2013 Жалоба Share Опубликовано 29 июля, 2013 Ну а в шаблоне бокса что у Вас?! Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 29 июля, 2013 Автор Жалоба Share Опубликовано 29 июля, 2013 Ну а в шаблоне бокса что у Вас?! {foreach name=aussen item=box_content from=$box_content} {if $box_content.PRODUCTS_IMAGE} <p> <a href="{$box_content.PRODUCTS_LINK}"><img src="{$box_content.PRODUCTS_IMAGE}" alt="{$box_content.PRODUCTS_NAME}" width="100" /></a> </p> <p> <a href="{$box_content.PRODUCTS_LINK}">{$box_content.PRODUCTS_NAME}</a> </p> {/if}{/foreach} При такой паре шаблон+ пхп получается только один просмотренный товар. Если раскомментить кусок пхп // $module_content = ''; // $random_query = vamDBquery($random_query); // $random_new = vam_db_fetch_array($random_query,true); // while ($products_data = vam_db_fetch_array($random_new)) { // $module_content[] = $product->buildDataArray($products_data); // } и, соответственно закомментить $module_content = array (); $random_query = vamDBquery($random_query); while ($products_data = vam_db_fetch_array($random_query, true)) { $module_content[] = $product->buildDataArray($products_data); } то, как писала выше - нет ни картинок, ни названий товара Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 июля, 2013 Жалоба Share Опубликовано 29 июля, 2013 Смотрите sql запрос, наверное в нём что-то не так. Попробуйте limit убрать или поменять на limit 10 например. Вообще, есть же пример рекомендуемых товаров, там всё уже готово, берёте готовый бокс и просто меняете sql запрос, там по умолчани запрос на рекомендуемые только, меняйте на то, что нужно Вам. Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 29 июля, 2013 Автор Жалоба Share Опубликовано 29 июля, 2013 Взяла полностью пхп рекомендованных товаров, поменяла sql запрос на select p.products_id, pd.products_name, p.products_image from ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd where p.products_status = '1' and p.products_id = '". $_SESSION[tracking][products_history][$random_last_viewed]."' and pd.language_id = '" . $_SESSION['languages_id'] . "' ".$group_check." ".$fsk_lock." order by pd.products_name desc limit ".MAX_RANDOM_SELECT_FEATURED; перед //fsk18 lock вставила $max = count($_SESSION[tracking][products_history]); $max--; $random_last_viewed = vam_rand(0,$max); получается, что выводятся нормально названия товаров, ссылки, но картинка выводится одна для всех товаров - метка {$box_content.PRODUCTS_IMAGE} для всех товаров не меняется. Пробовала менять/убирать limit, order by - проблема осталась - одна картинка на все товары Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 июля, 2013 Жалоба Share Опубликовано 30 июля, 2013 У Вас эта метка точно стаит внутри foreach ... /foreach в шаблоне? Бокс рекомендуемых ведь правильный, там картинка у каждого товара своя. Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 30 июля, 2013 Автор Жалоба Share Опубликовано 30 июля, 2013 У Вас эта метка точно стаит внутри foreach ... /foreach в шаблоне? Бокс рекомендуемых ведь правильный, там картинка у каждого товара своя. Да точно стоит. Если беру бокс рекомендуемые и просто меняю sql запрос (ничего не меняя в хтмл шаблоне), как писала выше - та же самая история - картинки одинаковые. Какая засада может быть в этом sql запросе? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 июля, 2013 Жалоба Share Опубликовано 30 июля, 2013 Бокс рекомендумых как работает, без Ваших правок, картинки нормально выводит? Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 30 июля, 2013 Автор Жалоба Share Опубликовано 30 июля, 2013 Бокс рекомендумых как работает, без Ваших правок, картинки нормально выводит? Да. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 июля, 2013 Жалоба Share Опубликовано 30 июля, 2013 Тогда смотрите sql запрос свой, может в нём что не так. Посмотрите например sql запрос на странице новинок - products_new.php и вставьте его в свой бокс. Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 31 июля, 2013 Автор Жалоба Share Опубликовано 31 июля, 2013 Тогда смотрите sql запрос свой, может в нём что не так. Посмотрите например sql запрос на странице новинок - products_new.php и вставьте его в свой бокс. все тоже самое - картинки одинаковые, это sql запрос, но, что в нем не так понять не могу. Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 31 июля, 2013 Автор Жалоба Share Опубликовано 31 июля, 2013 Все, разобралась sql запросом, все работает нормально. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 июля, 2013 Жалоба Share Опубликовано 31 июля, 2013 Дело было именно в sql запросе?! Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 31 июля, 2013 Автор Жалоба Share Опубликовано 31 июля, 2013 Дело было именно в sql запросе?! да Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 июля, 2013 Жалоба Share Опубликовано 31 июля, 2013 Понятно. Ссылка на сообщение Поделиться на другие сайты
Blun 0 Опубликовано 8 ноября, 2013 Жалоба Share Опубликовано 8 ноября, 2013 Все, разобралась sql запросом, все работает нормально. Usvam, не могли бы Вы выложить переделанный файл last_viewed.php! Ссылка на сообщение Поделиться на другие сайты
Blun 0 Опубликовано 10 ноября, 2013 Жалоба Share Опубликовано 10 ноября, 2013 Перепробовал всякие разные SQL запросы, как только не менял код! Все равно не выводит последние просмотренные товары! Код в /templates/vamshop/source/boxes/featured.php сильно отличается от /templates/vamshop/source/boxes/last_viewed.php! Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 10 ноября, 2013 Жалоба Share Опубликовано 10 ноября, 2013 Да не особо и отличается, возьмите за основу какой-то из готовых боксов и делайте из него то, что нужно. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения