Hulp gevraagd
ik zal mij eerst even voorstellen, mijn naam is Rene Hoekstra en bezit 2 webshops:
www.hetbijtje.nl
www.kinderspulenzo.nl
De shops zijn gebouwd met joomla en virtuemart.
De shop kinderspulenzo is een kopie van hetbijte. Nadat ik alle artikelgroepen en artikelen heb toegevoegd aan kinderspulenzo heb ik een aantal test gedaan met de shop. Hier is een fout naar voren gekomen die ikzelf niet kan oplossen.
De foutmelding krijg ik zodra er een artikel in het winkelmandje staat en je wilt het winkelmandje bekijken. Dit is de melding die ik krijg:
Undefined variable: old_category_id in /home/hoekst25/domains/kinderspulenzo.nl/public_html/components/com_virtuemart/router.php on line 1073
Als ik de regel bekijk in het bestand router.php staat er het volgende:
$category_parent_id=$old_category_id;
Aangezien ik helemaal nieuw ben in php zou ik graag een beetje hulp ontvangen om deze foutmelding op te lossen.
old_category_id is een variabele die je nergens hebt gedefinieerd, hij bestaat dus nog niet.
function get_category_id_by_alias($alias) // Mutiple level category ->Parse
{
$db=JFactory::getDBO();
$query="SELECT category_id,category_name FROM #__vm_category";
$db->setQuery($query);
$rows=$db->loadObjectList();
$segments=array();
if(is_array($alias))
$segments = $alias;
else
$segments[] = $alias;
$existing_alias=$segments;
$category_parent_id=0;
foreach($segments as $i=>$value)
{
$alias=$db->Quote(convert_title_to_alias($value));
$query="SELECT `category_id`
FROM `#__vm_category_alias`
WHERE `alias`={$alias}";
$db->setQuery($query);
$category_parent_id=intval($db->loadResult());
if($category_parent_id)
unset($existing_alias[$i]);
else
$category_parent_id=$old_category_id;
$old_category_id=$category_parent_id;
}
$alias = $existing_alias;
return $category_parent_id;
}
function get_category_id_by_alias_remove_segments(&$alias) // Mutiple level category ->Parse
{
$db=JFactory::getDBO();
$segments=array();
if(is_array($alias))
$segments = $alias;
else
$segments[] = $alias;
$existing_alias=$segments;
$category_parent_id=0;
foreach($segments as $i=>$value)
{
$alias=$db->Quote(convert_title_to_alias($value));
$query="SELECT `category_id`
FROM `#__vm_category_alias`
WHERE `alias`={$alias}";
$db->setQuery($query);
$category_parent_id=intval($db->loadResult());
if($category_parent_id)
unset($existing_alias[$i]);
else
$category_parent_id=$old_category_id;
$old_category_id=$category_parent_id;
}
$alias = $existing_alias;
return $category_parent_id;
}
function get_product_id_by_alias($alias)
{
if(is_array($alias))
$segments = $alias;
else
$segments[] = $alias;
$db=JFactory::getDBO();
$category_id=get_category_id_by_alias_remove_segments($segments);
if(count($segments)==0)
return 0;
foreach($segments as $segment)
{
$product_alias = $segment;
break;
}
$product_alias=$db->Quote( convert_title_to_alias($product_alias));
$query="SELECT `product_id` FROM `#__vm_product_alias` WHERE `alias`={$product_alias}";
$db->setQuery($query);
return intval($db->loadResult());
}
Toevoeging op 10/05/2012 19:57:59:
Wouter J op 10/05/2012 19:51:54:
old_category_id is een variabele die je nergens hebt gedefinieerd, hij bestaat dus nog niet.
Enig idee hoe ik deze moet definieren?
Gewijzigd op 10/05/2012 20:00:21 door Rene Hoekstra
Wouter J op 10/05/2012 20:04:07:
Maakt het uit waar ik deze regels neer zet?
Toevoeging op 11/05/2012 11:03:07:
@Wouter J
Ontzettend bedankt, met het toevoegen van deze regel is de fout verholpen.