Joomla! България
Joomla! - Общи теми => Компоненти => Темата е започната от: adrianmitev в 07 Януари, 2015, 11:16:19
-
Здравейте,
Някой може ли да ми помогне как да листна и подкатегориите, а не само първата категория в този код.
<div class="col-right sidebar col-md-3 col-sm-4 col-xs-12">
<?php
$db=JFactory::getDBO();
$sql_category="
SELECT vc.virtuemart_category_id, vc.category_name, cc.category_parent_id
FROM #__virtuemart_categories_en_gb AS vc, #__virtuemart_category_categories AS cc, #__virtuemart_categories AS vcc
WHERE cc.id = vc.virtuemart_category_id
AND vcc.virtuemart_category_id = vc.virtuemart_category_id
AND vcc.published = '1' and cc.category_parent_id='".$this->category->virtuemart_category_id."'";
$db->setQuery($sql_category);
if ($db->getErrorNum()) {
echo $db->getErrorMsg();
exit;
}
$category = $db->loadObjectList();
$document->addScript(JURI::base().'templates/vigoshop/js/jquery_accordion/jquery.akordeon.js');
if(!empty($category))
{?>
<div class="moduletable block block-category-nav">
<div class="block-title">
<strong><span>
<?php if($this->category->category_name!=NULL){ echo $this->category->category_name;} else { echo "Категории"; }?></span></strong>
</div>
<div class="block-content">
<div class="akordeon category-list">
<?php
foreach($category as $cat)
{
// echo "<br>"."Ctegory Parent Id : ".$cat->category_parent_id."<br>";
// echo "Category Id : ".$cat->virtuemart_category_id;
$sql_category_child="SELECT vc.virtuemart_category_id, vc.category_name, cc.category_parent_id
FROM #__virtuemart_categories_en_gb AS vc, #__virtuemart_category_categories AS cc, #__virtuemart_categories AS vcc
WHERE cc.id = vc.virtuemart_category_id
AND vcc.virtuemart_category_id = vc.virtuemart_category_id
AND vcc.published = '1' and cc.category_parent_id='".$cat->virtuemart_category_id."'";
$db->setQuery($sql_category_child);
if ($db->getErrorNum()) {
echo $db->getErrorMsg();
exit;
}
$category_child = $db->loadObjectList();
if(empty($category_child))
{
$cls_name="has-no-children";
}
else
{
$cls_name="";
}
?>
<div class="akordeon-item <?php echo $cls_name; ?>">
<div class="akordeon-item-head">
<div class="akordeon-item-head-container">
<div class="akordeon-heading">
<a href="index.php?option=com_virtuemart&view=category&virtuemart_category_id=<?php echo $cat->virtuemart_category_id;?>"><?php echo $cat->category_name; ?></a>
</div>
</div>
</div>
<?php
if(!empty($category_child))
{ ?>
<div class="akordeon-item-body">
<div class="akordeon-item-content">
<ul>
<?php
foreach($category_child as $cc)
{ // print_r($cc); ?>
<li>
<a href="index.php?option=com_virtuemart&view=category&virtuemart_category_id=<?php echo $cc->virtuemart_category_id;?>"><?php echo $cc->category_name; ?></a>
<?php /*?>echo "child_inner category : ".$child_inner->virtuemart_category_id." ".$child_inner->category_name."<br>"; <?php */?> </li>
<?php }
?>
</ul>
</div>
</div>
<?php } ?>
</div>
<?php }
?>
</div>
</div>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('.akordeon.category-list').akordeon({ buttons: true, toggle: true });
});
</script>
</div>
-
Какво имаш предвид под листа и подкатегорийте?
За да ти помогне някои е нужна информация, аз лично подозирам, че ползваш virtuemart?
Ако искаш да листнеш продуктите от подкатегорийте в главната категория, независимо че не са публикувани в главната категория виж това: http://forum.virtuemart.net/index.php?topic=97874.15
Ако не съм те разбрал дай подробна информация, за това какво искаш да направиш!
Имай предвид, че всяка една такава доработка, ще трябва да се прави отново и отново при ъпдейт, а също така имай предвид, че и може да въпросния хак да не сработи с някоя от по - новите версии и така базирайки сайта си на такъв хак ще имаш големи главоболия.
-
@Donbaron.bg
аз лично подозирам, че ползваш virtuemart?
Е не бе, я виж заявката
SELECT vc.virtuemart_category_id, vc.category_name, cc.category_parent_id
Като гледам от кода човека иска нещо за модула в div class="... sidebar..." и нещо там не му излизат категориите и//или под категориите
@adrianmitev
Пусни един линк да видим за какво става дума, преди да се захванем с кода.
-
@ Мишо
Аз гледах само снимките, ти си гледал само кода :D :D
От снимката се вижда, че човека е на локалхост. Ако IP-то му го позволява ще може да даде линк разбира се.
За да покаже подкатегорийте на категорията мисля, че това ще му свърши работа.
<?php
if (!empty($this->category->children)) {
foreach ($this->category->children as $category) {
$caturl = JRoute::_ ('index.php?option=com_virtuemart&view=category&virtuemart_category_id=' . $category->virtuemart_category_id, FALSE); ?>
<div><a href="<?php echo $caturl ?>"><?php echo $category->category_name ?></a></div>
<?php } ?>
<?php } ?>
Офффф чак сега загрях :o :o :o Той човека иска самия модул да показва подкатегорийте на категорията, не иска преработка на файловете на марта :-\
За целта, мисля че ще е по - лесно да свали някои готов модул за тази цел. Също така, щом иска да показва подкатегорийте си мисля, че няма да има чак толкова много категории и подкатегории, затова ако ръчно направи меню с всички категории и подкатегории и след това го публикува с някои от вградените модули на джумла и му ще му свърши прекрасна работа. За красота винаги може да добави собствен css стил.
-
Здравейте,
Създадов допълнителни категории в марта с подобни име и стана по-бързо иначе щеше да е много играчка.
Благодаря Ви все пак.