Адресок дадите? посмотреть...
сайт не готов, тестируем разные модули
J1.0.12 LE, VM 1.0.11
Новые подробности теста кода:
n-й товар в списке упомянут 2 раза, т.е. 2 раза его имя повторяется, если n-ый товар занесен по дате последним.
Вот ссылки на одинаковый товар:
1).../component/page,shop.product_details/flypage,flypage.tpl/product_id,/category_id,/option,com_virtuemart/Itemid,1/
2).../component/page,shop.product_details/flypage,flypage.tpl/product_id,
8/category_id,/option,com_virtuemart/Itemid,1/
Может подскажите, как создать условие с исключением одинаковых имен...
Т.е. если имя в списке появляется более 1 раза, то имя-повтор удаляем, а имя, которое попало в список первым оставляем....
или условие, по которому удаляются все имена со сылкой вида
/component/page,shop.product_details/flypage,flypage.tpl/product_
id,/category_id,/option,com_virtuemart/Itemid,1/
Вот Код--------------
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
global $mosConfig_absolute_path,$product_id, $dd_list;
require_once( $mosConfig_absolute_path.'/components/com_virtuemart/virtuemart_parser.php' );
require_once(CLASSPATH.'ps_product.php');
$ps_product = new ps_product;
require_once(CLASSPATH.'ps_product_category.php');
$ps_product_category = new ps_product_category;
$db=new ps_DB;
$cookie_expire = trim($params->get ('cookie_expire', 3600));//off time of cockie 900=15min
$max_numb = trim($params->get ('max_numb', 20));//maximum number of links
$no_products_msg = trim($params->get ('no_products_msg', "Нет просмотренных товаров"));
$pre_content_template = trim($params->get ('pre_content_template', " "));
$rvp_content_template = trim($params->get ('content_template',
"<img style=\"float: left;\" src=\"{image_path}/{thumb_image}\" />
<a href=\"{link_url}\">{name}</a> <br style=\"clear: both;\" /> "));
$post_content_template = trim($params->get ('post_content_template', " "));
if ($product_id !== 0 ) {
$q = "select product_name FROM #__{vm}_product ";
$q .= "WHERE product_id = '".$product_id."' ";
$q .= "and product_publish = 'Y'";
$db->setQuery( $q );
$rows = $db->loadObjectList();
foreach ($rows as $row1) {
$name = $row1->product_name;
}
$q = "select category_id FROM #__{vm}_product_category_xref ";
$q .= "WHERE product_id = '".$product_id."' ";
$q .= "and product_publish = 'Y'";
$db->setQuery( $q );
$rows = $db->loadObjectList();
//foreach ($rows as $row1) {
//$category = $row1->category_id;
//}
}
else{
echo $pre_content_template."Нет просмотренных товаров";
}
$rvp_bmb_list = mosGetParam( $_COOKIE, "rvp_bmb", '' );
if($rvp_bmb_list) {
$rvp_bmb_list2 = explode("|", $rvp_bmb_list);
$n = count($rvp_bmb_list2);
if($n >$max_numb) $n = $max_numb;
// echo "<ul>\n";
$t =1;
for($i = 0; $i < $n; $i++) {
$product2_id = $rvp_bmb_list2[$i];
if($i == 0) {
$rvp_bmb_list3 = $product2_id;
} else {
$rvp_bmb_list3 .='|'.$product2_id;
}
$q = "select product_name FROM #__{vm}_product ";
$q .= "WHERE product_id = '".$product2_id."' ";
$q .= "and product_publish = 'Y'";
$db->setQuery( $q );
$rows = $db->loadObjectList();
foreach ($rows as $row1) {
$name2 = $row1->product_name;
}
$q = "select category_id FROM #__{vm}_product_category_xref ";
$q .= "WHERE product_id = '".$product2_id."' ";
$q .= "and product_publish = 'Y'";
$db->setQuery( $q );
$rows = $db->loadObjectList();
//foreach ($rows as $row1) {
//$category2 = $row1->category_id;
//}
echo '<div><a href="http://...сайт...ru/component/page,shop.product_details/
flypage,flypage.tpl/product_id,'.$product2_id.'/category_id,'.$category2_id.'/option,com_virtuemart/Itemid,1/">'.$name2.'</a></div>'."\n";
if($product2_id == $product_id) {
$t = 2;
}
}
// echo '</ul>'."\n";
if($product_id !== 0){
$rvp_bmb_list = $product_id.'|';
} else {
$rvp_bmb_list = '';
}
$rvp_bmb_list .= $rvp_bmb_list3;
// echo $rvp_bmb_list;
if ($t == 1)
setcookie('rvp_bmb', $rvp_bmb_list, time()+$cookie_expire,'/');
} else {
$rvp_bmb_list =$product_id ;
setcookie('rvp_bmb', $rvp_bmb_list, time()+$cookie_expire,'/');
?>
<?php
}
?>
<br>
--------------