Call to a member function count() on a non-object
Ошибка при создании подкатегории
01.01.2011 22:35
Народ, помогите плизз, при создании подкатегории у мена на шаблоне выходит вот такая ошибка
Fatal error: Call to a member function count() on a non-object in /home/user/public_html/app/design/frontend/default/theme11/template/catalog/navigation/vert_nav.phtml on line 16
а на 16 линии вот это <?php $childCnt = $_category->getChildren()->count(); ?>
не знаю как исправить((((
Fatal error: Call to a member function count() on a non-object in /home/user/public_html/app/design/frontend/default/theme11/template/catalog/navigation/vert_nav.phtml on line 16
а на 16 линии вот это <?php $childCnt = $_category->getChildren()->count(); ?>
не знаю как исправить((((
02.01.2011 04:37
Это должна быть строка 16, о которой говорит интерпретатор.
Конкретный код зависит от темы. Если он именно такой, как вы написали, то попробуйте заменить его на:
Конкретный код зависит от темы. Если он именно такой, как вы написали, то попробуйте заменить его на:
$childCnt = count ($_category->getChildren());
02.01.2011 05:07
спасибо дружище, ошибка исчезла, тока вот теперь подкатегории не показываются,, но я попробую разобраться сам, еще раз спасибо
02.01.2011 05:22
Причина ошибки Call to a member function count() on a non-object - тема создавалась для ранних версий Magento и несовместима с 1.4.
Возможно, там ещё какие-то правки требуется внести, чтобы категории показывались.
А может, вам просто надо их опубликовать.
Возможно, там ещё какие-то правки требуется внести, чтобы категории показывались.
А может, вам просто надо их опубликовать.
02.01.2011 13:56
Дмитрий Федюк (02.01.2011 05:22) писал:
Причина ошибки Call to a member function count() on a non-object - тема создавалась для ранних версий Magento и несовместима с 1.4.
Возможно, там ещё какие-то правки требуется внести, чтобы категории показывались.
А может, вам просто надо их опубликовать.
Возможно, там ещё какие-то правки требуется внести, чтобы категории показывались.
А может, вам просто надо их опубликовать.
нужно внести еще какие то изменение в этом коде чтоб выявить подкатегории <li <?php if($childCnt == $i): ?>class="last"<?php endif; ?>><a href="<?=$this->getCategoryUrl($childCat);?>"><?=$childCat->getName();?></a></li>
я знаю что надо добавить echo но я не знаю как прописать, так как я еще не разобрался с логикой скрипта.
помогите пожалуйста кто может, как мне вывести подкатегорию на сайт.
вот весь код с файла:
<div class="menu_left_navigation">
<div class="left_top_bg"><strong>Categories</strong></div>
<div class="left_mid_bg">
<div><?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('we_recommend')->toHtml() ?></div>
<div class="menu_sub_head">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php $cateactive = $_category->getIsActive(); ?>
<?php if($cateactive == 1) { ?>
<?php $open = $_category->hasChildren(); ?>
<div class="head">
<a href="<?=$this->getCategoryUrl($_category);?>"><?=$_category->getName();?></a>
</div>
<?php if ($open): ?>
<div class="sub_head_list">
<ul>
<?php $childCnt = count ($_category->getChildren()); ?>
<?php $i=1; foreach ($_category->getChildren() as $child): ?>
<?php $CatID = $child->getId(); ?>
<?php $childCat = Mage::getModel('catalog/category')->load($CatID); ?>
<li <?php if($childCnt == $i): ?>class="last"<?php endif; ?>><a href="<?=$this->getCategoryUrl($childCat);?>"><?=$childCat->getName();?></a></li>
<?php $i++; endforeach; ?>
</ul>
<div class="bottom_bg"></div>
</div>
<?php endif; ?>
<?php } ?>
<?php endforeach ?>
</div>
</div>
</div>
Спасибо за ранее.
02.01.2011 14:37
Дмитрий Федюк (02.01.2011 14:33) писал:
Какую тему вы используете?
а вам что то даст от название темы?
я использую informatica купил ее тут http://dev141.ecomme...ore=informatica
02.01.2011 14:43
Я думаю, раз вы уже оплатили труд разработчика темы - он с удовольствием поможет вам решить вашу проблему.
02.01.2011 15:27
Кстати, у вас есть простой способ проверить, кто источник проблемы: тема или вы.
Для этого просто смените временно тему на стандартную Default.
Если разделы появятся - значит, проблема в вас.
Если не появятся - значит, проблема в вашей теме informatica.
Для этого просто смените временно тему на стандартную Default.
Если разделы появятся - значит, проблема в вас.
Если не появятся - значит, проблема в вашей теме informatica.
02.01.2011 16:35
вроде все сделал как хотел, все работает, только поставил я другой совсем код:
тут другой вопрос, не могу из под категории вывести подкатегории, не знаете где нужно тут подправить?
<?php $obj = new Mage_Catalog_Block_Navigation(); $store_cats = $obj->getStoreCategories(); $current_cat = $obj->getCurrentCategory(); $current_cat = (is_object($current_cat) ? $current_cat->getName() : '');?> <div class="menu_sub_head"> <?php foreach ($store_cats as $cat) { if ($cat->getName() == $current_cat) {?> <?php echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a>\n <ul>\n";?> <div class="sub_head_list"> <?php foreach ($obj->getCurrentChildCategories() as $subcat) { echo '<li><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName()."</a></li>\n"; } echo "</ul>\n</li>\n"; } else { echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a></li>\n"; } }?>
тут другой вопрос, не могу из под категории вывести подкатегории, не знаете где нужно тут подправить?
02.01.2011 18:30
то что вы написали Mage_Catalog_Model_Category
я создал объект класса
и поставил метод
я создал объект класса
$object = new Mage_Catalog_Model_Category();
и поставил метод
<?php foreach ($object->getChildrenCategories() as $subcat) { echo '<li><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName()."</a></li>\n"; } echo "</ul>\n</li>\n"; } else { echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a></li>\n"; } }?>
12.01.2011 21:50
ребята может кто знает как вызывать подкатегории 3 го уровня? уже какой день голову ломаю, Дмитрий может вы знаете?
12.01.2011 22:55
я парюсь с этим, пытался вставить метод getChildren() не помогает.
вот моЙ год
помогите мне правильно вставить третиЙ уровень категории. И куда именно вставить((((
За ранее спс
вот моЙ год
<?php $obj = new Mage_Catalog_Block_Navigation(); $store_cats = $obj->getStoreCategories(); $current_cat = $obj->getCurrentCategory(); $current_cat = (is_object($current_cat) ? $current_cat->getName() : '');?> <div class="menu_sub_head"> <?php foreach ($store_cats as $cat) { if ($cat->getName() == $current_cat) {?> <?php echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a>\n <ul>\n";?> <div class="sub_head_list"> <?php foreach ($obj->getCurrentChildCategories() as $subcat) { echo '<li><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName()."</a></li>\n"; } echo "</ul>\n</li>\n"; echo "</ul>\n</li>\n"; } else { echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a>\n <ul>\n"; } } ?>
помогите мне правильно вставить третиЙ уровень категории. И куда именно вставить((((
За ранее спс