Skip to main content

Display category description when empty category

9 years 10 months ago #259308 by fabius
-- HikaShop version -- : 2.6.4

Hello,
I would like to know how to make possible to show category description also if category is empty.
Is there a way?
I tried so hard but did not manage to find solution.
Can somebody help me?
Thanks

Please Log in or Create an account to join the conversation.

9 years 10 months ago #259333 by nicolas
Hi,

Edit all the code instances of :
if(!empty($html))
to:
if(true)
in the file "listing" of the view "category" for your frontend template and that should do it.

www.hikashop.com/support/documentation/1...ize-the-display.html

Please Log in or Create an account to join the conversation.

9 years 10 months ago - 9 years 10 months ago #259436 by fabius
Hello,
It does not work.
you can see here mncsvilupp.assistenzalogo.it/index.php?o...ppe-gallo&Itemid=285

there are no products in this category and the description is not showing.
I also paste listing.php edit file:
Code:
<?php /** * @package HikaShop for Joomla! * @version 2.6.1 * @author hikashop.com * @copyright (C) 2010-2016 HIKARI SOFTWARE. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php ob_start(); if(version_compare(JVERSION,'1.6','<')){ $title = 'show_page_title'; }else{ $title = 'show_page_heading'; } $titleType='h1'; if($this->module){ $title = 'showtitle'; $titleType='h2'; } if($this->params->get($title) && JRequest::getVar('hikashop_front_end_main',0)){ if($this->module){ $heading = $this->params->get('title'); }else{ $heading = $this->params->get('page_title'); if($this->params->get('page_heading')){ $heading = $this->params->get('page_heading'); } } ?> <<?php echo $titleType; ?>> <?php echo $heading; ?> </<?php echo $titleType; ?>> <?php } if(!$this->module){ if(isset($this->element->category_canonical) && !empty($this->element->category_canonical)){ $canonicalUrl = hikashop_cleanURL($this->element->category_canonical); $doc = JFactory::getDocument(); $doc->addCustomTag( '<link rel="canonical" href="'.$canonicalUrl.'" />' ); } if(($this->params->get('show_image') && !empty($this->element->file_path))|| ($this->params->get('show_description')&&!empty($this->element->category_description))){ ?> <div class="hikashop_category_description"> <?php if($this->params->get('show_image') && !empty($this->element->file_path)){ jimport('joomla.filesystem.file'); if(JFile::exists($this->image->getPath($this->element->file_path,false))){ ?> <img src="<?php echo $this->image->getPath($this->element->file_path); ?>" class="hikashop_category_image" title="<?php echo $this->escape(@$this->element->file_description); ?>" alt="<?php echo $this->escape(@$this->element->file_name); ?>"/> <?php } } if($this->params->get('show_description',1)&&!empty($this->element->category_description)){ ?> <?php } ?> </div> <?php } if(!empty($this->fields)){ ?> <?php ob_start(); $this->fieldsClass->prefix = ''; foreach($this->fields as $fieldName => $oneExtraField) { if(!empty($this->element->$fieldName)){ ?> <tr class="hikashop_category_custom_<?php echo $oneExtraField->field_namekey;?>_line"> <td class="key"> <span id="hikashop_category_custom_name_<?php echo $oneExtraField->field_id;?>" class="hikashop_category_custom_name"> <?php echo $this->fieldsClass->getFieldName($oneExtraField);?> </span> </td> <td> <span id="hikashop_category_custom_value_<?php echo $oneExtraField->field_id;?>" class="hikashop_category_custom_value"> <?php echo $this->fieldsClass->show($oneExtraField,$this->element->$fieldName); ?> </span> </td> </tr> <?php } } $custom_fields_html = ob_get_clean(); if(!empty($custom_fields_html)){ ?> <div id="hikashop_category_custom_info_main" class="hikashop_category_custom_info_main"> <h4><?php echo JText::_('CATEGORY_ADDITIONAL_INFORMATION');?></h4> <table width="100%"> <?php echo $custom_fields_html; ?> </table> </div> <?php } } } $layout_type = $this->params->get('layout_type'); if(empty($layout_type) || $layout_type=='table') $layout_type = 'div'; $html = $this->loadTemplate($layout_type); if(true) echo '<div class="hikashop_subcategories_listing">'.$html.'</div>'; if(!$this->module){ $data = $this->params->get('data'); if(isset($data->hk_product) && is_object($data->hk_product)){ $js = ''; $empty=''; jimport('joomla.html.parameter'); $params = new HikaParameter($empty); foreach($data->hk_product as $k => $v){ $params->set($k,$v); } $main_div_name = 'hikashop_category_information_module_'.$params->get('id'); $params->set('main_div_name',$main_div_name); echo '<div class="hikashop_submodules" style="clear:both">'.hikashop_getLayout('product', 'listing', $params, $js).'</div>'; } else if(!empty($this->modules)){ $html = ''; jimport('joomla.application.module.helper'); foreach($this->modules as $module){ $html .= JModuleHelper::renderModule($module); } if(true){ echo '<div class="hikashop_submodules" style="clear:both">'.$html.'</div>'; } } } $html = ob_get_clean(); if(true){ $category_id = 0; if(!empty($this->element->category_id)) $category_id = $this->element->category_id; if(!empty($this->row->category_id)) $category_id = $this->row->category_id; ?> <div id="<?php echo $this->params->get('main_div_name');?>" class="hikashop_category_information hikashop_categories_listing_main hikashop_category_listing_<?php echo $category_id; ?>"> <?php echo $html; ?> </div> <?php } ?>
Last edit: 9 years 10 months ago by nicolas.

Please Log in or Create an account to join the conversation.

9 years 10 months ago #259442 by nicolas
Hi,

And you're sure that the description displays if there are products in the category ?
If you add a product in that category with the id 14, you get the description ?
To me it looks like you have the "show description" setting turned off in your menu item and that the description of the main category won't display regardless of the products in the category.
Can you check on that ?

Please Log in or Create an account to join the conversation.

Time to create page: 0.045 seconds
Powered by Kunena Forum