En azından i can düşünüyorum ben 1 ile değerini artırmak ve benim HTML bu uygulamak istiyorum bu sorunu var, ama bir for()
veya while()
döngü (kullanamazsınız 't). Ben bir e-mal programı (OpenCart) özelleştirme ve benim php bilgi sorunu çözmek için yeterli değildir.
Deposundan kategori görüntüler bu işlevi yoktur. Sürekli $var .= "value"
olarak güncellenen bir değişkeni kullanır.
Ben şimdiye kadar ben orada kaç alt kategoriler biliyorum, ama benim HTML bu menzilin nasıl uygulanacağını bilmiyorum.
Ben aşağıdaki gibi bir duruma doğru çalışıyorum
<ul id="cats">
<li id="cat1">Cat
<ul id="sub1">
<li>item</li>
<li>item</li>
</ul>
</li>
<li id="cat2">Cat
<ul id="sub2">
<li>item</li>
<li>item</li>
</ul>
</li>
</ul>
Ben nasıl second Sırasız listelerin sayısını artırmak için bir ipucu yok. İkinci sırasız listeler oluşturulan kod aşağıda.
[..]
$cPiD = strlen($parent_id);
if ($results) {
if ($parent_id == 0) {
$output .= '<ul id="cats">';
} else {
$output .= '<ul id="sub'.$cPiD.'">';
}
}
[..]
Değişken $cPiD
(bu durumda 2) alt kategorilerde toplam miktarda tutar. Bu değişken otomatik Sırasız listeye doğru sayıyı geçerli (yani ilk sırasız listesi ve id="sub2"
benim yukarıdaki örnekte olduğu gibi o ikinci bir () tot için id="sub1"
uygulamak) istiyorum.
Sorun benim HTML i almak two <ul>
wil çünkü ben, else
bölümünden sonra for()
döngü kullanamazsınız olduğunu etiketler yerine biri.
Tüm olur PHP kodu altında
$category_id = array_shift($this->path);
$output = '';
$results = $this->model_catalog_category->getCategories($parent_id);
$count = 0;
$cPiD = strlen($parent_id);
if ($results) {
if ($parent_id == 0) {
$output .= '<ul id="cats">';
} else {
$output .= '<ul id="sub'.$cPiD.'">';
}
}
foreach ($results as $result) {
$count++;
if (!$current_path) {
$new_path = $result['category_id'];
$output .= '<li id="cat'.$count.'">';
} else {
$new_path = $current_path . '_' . $result['category_id'];
$output .= '<li>';
}
$ Çocuk ='';
$ Çocuk = $ this-> GetCategories ($ result ['category_id'], $ new_path);
$ Output = $ result ['name'].;
$ Output = $ çocuklar.;
if (!$current_path) {
$output .= '</li>';
} else {
$output .= '</li>';
}
}
if ($results) {
if ($parent_id == 0) {
$output .= '</ul>';
} else {
$output .= '</ul>';
}
}
Herkes belki bu çözmek için nasıl bir fikir var mı?
EDIT:
Oh, i tries adding the following construction in the foreach()
loop, but that gave problems when a certain categories don't have any sub categories.
if (!$current_path) { $output .= '$result['name'] . ' <ul id="sub'.$count.'">'; }else{ $ Output = $ result ['name'].; }