Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Intrerupator cu N - doza doar cu ...

Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!
 Cum era nivelul de trai cam din a...

probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda
 Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...
 Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.

Cost abonament clinica privata
 

Problema router Virtuemart

- - - - -
  • Please log in to reply
No replies to this topic

#1
erhabe

erhabe

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 13.09.2007
Salut

Am in lucru un site pe platforma Joomla cu Virtuemart integrat.
Problema este urmatoarea....am o categorie cu mai multe subcategorii.Pentru fiecare din ele am creat cate un meniu de genul

1.Offroad
1.1 ATV
1.1.1ATV CAN-AM
1.1.2ATV ARCTIC CAT
1.2 UTV

Submeniurile atv le-am creat folosind ca filtru categoria virtuemart si producatorul dar se pare ca routerul nu este configurat sa foloseasca ambele filtre simultan.

Acesta este url pentru meniul ATV CAN-AM  de exemplu
/index.php?option=com_virtuemart&view=category&virtuemart_category_id=8&virtuemart_manufacturer_id=4&categorylayout=0&showcategory=0&showproducts=1&productsublayout=0&Itemid=145&lang=ro


In momentul in care dau clic pe un produs in url este inclus si numele producatorului dar ia intotdeauna ultimul producator de la ultimul submeniu, in cazul de fata Arctic Cat, si in loc sa am ca url
offroad/atv/can-am/nume-produs

am
offroad/atv/arctic-cat/nume-produs



Am dat disable la seo url si am urmatoarele linck-uri


Pentru categorie

/index.php?option=com_virtuemart&view=category&virtuemart_category_id=8&virtuemart_manufacturer_id=4&categorylayout=0&showcategory=0&showproducts=1&productsublayout=0&Itemid=145&lang=ro

Pentru produs
/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=130&virtuemart_category_id=8&Itemid=145&lang=ro[/b]
[b]



Nu sunt specialist in php dar se vede clar ca in cazul afisarii categoriei sunt incluse si reguli pentru producator

case 'category';
   $start = null;
   $limspam.spam = null;
   $limit = null;
   if ( isset($query['virtuemart_manufacturer_id'])  ) {
	$segments[] = $helper->lang('manufacturer').'/'.$helper->getManufacturerName($query['virtuemart_manufacturer_id']) ;
	unset($query['virtuemart_manufacturer_id']);
   }
   if ( isset($query['search'])  ) {
	$segments[] = $helper->lang('search') ;
	unset($query['search']);
   }
   if ( isset($query['keyword'] )) {
	$segments[] = $query['keyword'];
	unset($query['keyword']);
   }
   if ( isset($query['virtuemart_category_id']) ) {
	$categoryRoute = $helper->getCategoryRoute($query['virtuemart_category_id']);
	if ($categoryRoute->route) {
	 $segments[] = $categoryRoute->route;
	}
	if(isset($query['virtuemart_category_id']) and isset($jmenu['virtuemart_category_id'][$query['virtuemart_category_id']])) {
	 $query['Itemid'] = $jmenu['virtuemart_category_id'][$query['virtuemart_category_id']];
	} else {
	 //http://forum.virtuemart.net/index.php?topic=121642.0
	 if (!empty($categoryRoute->itemId)) {
	  $query['Itemid'] = $categoryRoute->itemId;
	 } else {
	  $query['Itemid'] = vRequest::get('Itemid',false);
	 }
	}
	unset($query['virtuemart_category_id']);
   }
   if ( isset($jmenu['category']) ) $query['Itemid'] = $jmenu['category'];
   if ( isset($query['orderby']) ) {
	$segments[] = $helper->lang('by').','.$helper->lang( $query['orderby']) ;
	unset($query['orderby']);
   }
   if ( isset($query['dir']) ) {
	if ($query['dir'] =='DESC'){
	 $dir = 'dirDesc';
	} else {
	 $dir = 'dirAsc';
	}
	$segments[] = $dir;
	unset($query['dir']);
   }
   // Joomla replace before route limspam.spam by start but without SEF this is start !
   if ( isset($query['limspam.spam'] ) ) {
	$limspam.spam = $query['limspam.spam'] ;
	unset($query['limspam.spam']);
   }
   if ( isset($query['start'] ) ) {
	$start = $query['start'] ;
	unset($query['start']);
   }
   if ( isset($query['limit'] ) ) {
	$limit = $query['limit'] ;
	unset($query['limit']);
   }
   if ($start !== null &&  $limspam.spam!== null ) {
	//$segments[] = $helper->lang('results') .',1-'.$start ;
   } else if ( $start>0 ) {
	// using general limit if $limit is not set
	if ($limit === null) $limit= vmrouterHelper::$limit ;
	$segments[] = $helper->lang('results') .','. ($start+1).'-'.($start+$limit);
   } else if ($limit !== null && $limit != vmrouterHelper::$limit ) $segments[] = $helper->lang('results') .',1-'.$limit ;//limit change
   break;



iar in cazul afisarii produsului nu

case 'productdetails';
   $virtuemart_product_id = false;
   if (isset($jmenu['virtuemart_product_id'][ $query['virtuemart_product_id'] ] ) ) {
	$query['Itemid'] = $jmenu['virtuemart_product_id'][$query['virtuemart_product_id']];
	unset($query['virtuemart_product_id']);
	unset($query['virtuemart_category_id']);
   } else {
	if(isset($query['virtuemart_product_id'])) {
	 if ($helper->use_id) $segments[] = $query['virtuemart_product_id'];
	 $virtuemart_product_id = $query['virtuemart_product_id'];
	 unset($query['virtuemart_product_id']);
	}
	if(empty( $query['virtuemart_category_id'])){
	 $query['virtuemart_category_id'] = $helper->getParentProductcategory($virtuemart_product_id);
	}
	if(!empty( $query['virtuemart_category_id'])){
	 $categoryRoute = $helper->getCategoryRoute($query['virtuemart_category_id']);
	 if ($categoryRoute->route) $segments[] = $categoryRoute->route;
	 if ($categoryRoute->itemId) $query['Itemid'] = $categoryRoute->itemId;
	 else $query['Itemid'] = $jmenu['virtuemart'];
	} else {
	 $query['Itemid'] = $jmenu['virtuemart']?$jmenu['virtuemart']:@$jmenu['virtuemart_category_id'][0];
	}
	unset($query['virtuemart_category_id']);
	if($virtuemart_product_id)
	 $segments[] = $helper->getProductName($virtuemart_product_id);
   }
   break;


Am tot incercat diferite variante dar, asa cum am precizat un sunt cunoscator de php.
Intrebarea mea este daca se poate face o regula pentru produs in care sa fie inserat si numele producatorului dupa categorie.


Multumesc anticipat pentru raspunsuri.

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate