Açılır Kategori Listesi yardım

Başlatan gecitli, 09 Ara 2020 00:28

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

*

  1. 138

  2. 38

  3. 153

Merhaba aşağıdaki kodlar her kategori için bir li tagi atıyor oysa tek li,de sıralaması gerek
NOT bu kodları menüye ekliyorum
<li class="kadagori id">
<a href="' , $category['id'] , '">a</a>
<a href="' , $category['id'] , '">b</a>
<a href="' , $category['id'] , '">c</a>
</li>
tarzi

kodlar bunlar nerde hata yapıyorum

php
foreach ($context['categories'] as $category)
{
if (empty($category['boards']) && !$category['is_collapsed'])
continue;

echo '
<ul>
    <li><a href="#" aria-haspopup="true">categories</a>
      <ul class="dropdown" aria-label="submenu">
        <li><a href="' , $category['id'] , '">' , $category['name'] , '</a></li>
      </ul>
    </li>
  </ul>';
}

css

ul {
  background: darkorange;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

li {
  color: #fff;
  background: darkorange;
  display: block;
  float: left;
  padding: 1rem;
  position: relative;
  text-decoration: none;
  transition-duration: 0.5s;
}
 
li a {
  color: #fff;
}

li:hover,
li:focus-within {
  background: red;
  cursor: pointer;
}

li:focus-within a {
  outline: none;
}

ul li ul {
  background: orange;
  visibility: hidden;
  opacity: 0;
  min-width: 5rem;
  position: absolute;
  transition: all 0.5s ease;
  margin-top: 1rem;
  left: 0;
  display: none;
}

ul li:hover > ul,
ul li:focus-within > ul,
ul li ul:hover,
ul li ul:focus {
  visibility: visible;
  opacity: 1;
  display: block
}

ul li ul li {
  clear: both;
  width: 100%;
}

*

  1. 3,077

  2. 584

  3. 963
merhaba @gecitli hocam
tam olarak nasıl yapacanızı anlayamadım ama anladığım kadarıyla
echo'<ul>
<li>
<a href="#" aria-haspopup="true">categories</a>
<ul class="dropdown" aria-label="submenu">';
foreach ($context['categories'] as $category)
{
if (empty($category['boards']) && !$category['is_collapsed'])
continue;

echo '<li><a href="' , $category['id'] , '">' , $category['name'] , '</a></li>';
}
echo' </ul>
</li>
  </ul>';

isterseniz içerdeki son li leri dışa alabilirsiniz


*

  1. 138

  2. 38

  3. 153
Alıntı yapılan: snrj - 09 Ara 2020 02:06merhaba @gecitli hocam
tam olarak nasıl yapacanızı anlayamadım ama anladığım kadarıyla

Merhaba hocam buradaki ALL CATEGORIES alanını yapmaya çalışıyorum aslında sorunu tarif ederken cevabini da yazmışım
<a href="' , $category['id'] , '">' , $category['name'] , '</a> sorun burası id/name ikisinde link yapısı içinde kulanmışım id li tağinda name a tağinda olması lazım bu koronadan sonra hafıza kaybı başladı sanırım 8)

*

  1. 3,077

  2. 584

  3. 963

:D est hocam hepimizde var unutkanlık
index.template ye eklicekseniz üstteki şeklide tüm sayfalarda gözükmücektir
o sorunuda şöyle basit bir sql sorgusu ile halledersiniz
global $smcFunc;
$request = $smcFunc['db_query']('', '
SELECT b.id_cat,b.cat_order,b.name,b.can_collapse
FROM {db_prefix}categories AS b
ORDER BY b.cat_order asc'
);

$context['catcek'] = array();
if ($smcFunc['db_num_rows']($request) !== 0)
{
while ($row = $smcFunc['db_fetch_assoc']($request))
{

$context['catcek'][] = array(
'id' => (int)$row['id_cat'],
'cat_order' => (int)$row['cat_order'],
'name' => $row['name'],
'can_collapse' => $row['can_collapse'],
);
}
}
$smcFunc['db_free_result']($request);
echo'<ul>
<li>
<a href="#" aria-haspopup="true">categories</a>
<ul class="dropdown" aria-label="submenu">';
foreach ($context['catcek'] as $category)
{

echo '<li><a href="' , $category['id'] , '">' , $category['name'] , '</a></li>';

}
echo' </ul>
</li>
  </ul>';

*

  1. 138

  2. 38

  3. 153
09 Ara 2020 14:44 #4 Son düzenlenme: 09 Ara 2020 14:50 gecitli
snrj hocam teşekkür ederim böyle çok daha iyi yalnız kategori ide numarasına yönlendiriyor böyle olması gereken http://localhost/smf2/index.php?action=forum#c1 bu kodlarla böyle yapıyor http://localhost/smf2/1
Böyle yapınca index.templtede çalışıyor diğer sayfalarda çelişmiyor

echo '<li><a href="#c' , $category['id'] , '">' , $category['name'] , '</a></li>';

*

  1. 3,077

  2. 584

  3. 963
09 Ara 2020 15:15 #5 Son düzenlenme: 09 Ara 2020 15:29 snrj
şu şekilde bi link düzeltme yapalım hocam
$linkduzelt=!empty($context['current_action']=='')?'#c':$scripturl.'#c';
echo'<ul>
<li>
<a href="#" aria-haspopup="true">categories</a>
<ul class="dropdown" aria-label="submenu">';
foreach ($context['catcek'] as $category)
{

echo '<li><a href="'.$linkduzelt.$category['id'] , '">' , $category['name'] , '</a></li>';

}
echo' </ul>
</li>
  </ul>';

edit :D 10 dk sonra


MENU ×