Opencart benim en sevdiğim açık kaynak kodlu online alışveriş scriplerinden biri. Nedeni.. stabilitesi ve harika kontrol paneli. Elbette modül ve temalarının yetersizliği gibi dezavantajları da var. Son yaptığım opencart tabanlı sitede önceden tasarlanmış ve müşteri tarafından onaylanmış bir arayüz vardı. Burada bilgi sayfalarını kullanarak sitenin alışveriş dışındaki sayfalarını kolaylıkla oluşturdum. Sitenin üç ayrı bölümünde ayrı ayrı bilgi sayfaları içeren navigasyon butonları kullanmak zorundaydım. Önce sabit hyperlinklerle bu işi gerçekleştirdim. Ancak sitenin iki dilli olacağı söylenince bu sabit hyperlinkleri kullanmam daha zor hale geldi. Ben de bu yazıda sizlerle paylaştığım çözümü buldum: mevcut dil seçimine göre değişen dinamik navigasyon kodlarını bozmadan yalnızca ihtiyacım olan sayfa kimliğini sayfaya çağırarak, daha doğrusu istemediklerimi hariç tutarak..
<?php
$excludes = array(‘3’, ‘4’, ‘5’, ‘8’,’9′,’10’,’12’,’13’,’14’);
$this->load->model(‘tool/seo_url’);
$this->load->model(‘catalog/information’);
$results = $this->model_catalog_information->getInformations();
if ($results) {$output = ‘<ul id=”topnav”>’;}
foreach ($results as $result) {
$listcat = true;
foreach ($excludes as $exclude) {
if ($result[‘information_id’] == $exclude) {$listcat = false;}
}
if ($listcat == true) {
$output .= ‘<li>’;
$new_path = $result[‘information_id’];
$unrewritten = HTTP_SERVER.’index.php?route=information/information&information_id=’.$new_path;
$rewritten = $this->model_tool_seo_url->rewrite($unrewritten);
$output .= ‘<a href=”‘.str_replace(‘&’, ‘&’, $rewritten).'”>’.$result[‘title’].'</a>’;
$output .= ‘</li>’;
}
}
if ($results) {$output .= ”;}
echo $output;?>