Skip to main content
Здесь вы можете свободно общаться на русском языке. Просим отнестись с пониманием к тому, что мы не разговариваем на этом языке и не можем осуществлять поддержку на нем.

Скрытие не заполненных дополнительных полей.

More
10 years 8 months ago #228329 by gorglemon
-- HikaShop version -- : 2.6.1
-- Joomla version -- : 3.4.8
-- PHP version -- : 5.3.29
-- Browser(s) name and version -- : Chrom 48.0.2564.97 m

Доброго времени суток дорогие знатоки. Крайне нуждаюсь в вашей помощи. Ситуация следующая.
Есть дополнительные поля, которые распространяются на категорию товара или на единичные товары, но в некоторых случаях не нуждаются в заполнении. В связи с чем в карточке товара не должны отображаться. Но получается совсем наоборот. Даже если дополнительное поле не заполнено метка к полю все равно отображается в карточке товара. Вопрос в следующем, что можно сделать что бы поля которые не заполнены не отображались в карточке товара, даже меткой?

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

More
10 years 8 months ago #228331 by gorglemon
Я понимаю что копать нужно в файле который отвечает за выдачу дополнительных полей. Но я не программист на PHP. Может кто нибудь знает решение? Вот листинг файла выдачи дополнительных полей.
Code:
<?php /** * @package HikaShop for Joomla! * @version 2.3.2 * @author hikashop.com * @copyright (C) 2010-2014 HIKARI SOFTWARE. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php $this->fieldsClass->prefix = ''; $displayTitle = false; ob_start(); foreach ($this->fields as $fieldName => $oneExtraField) { $value = ''; if(empty($this->element->$fieldName) && !empty($this->element->main->$fieldName))$this->element->$fieldName = $this->element->main->$fieldName; if(isset($this->element->$fieldName)) $value = trim($this->element->$fieldName); if (!empty ($value) || $value == 0) { $displayTitle = true; ?> <tr class="hikashop_product_custom_<?php echo $oneExtraField->field_namekey;?>_line"> <td class="key"> <span id="hikashop_product_custom_name_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_name"> <?php echo $this->fieldsClass->getFieldName($oneExtraField);?> </span> </td> <td> <span id="hikashop_product_custom_value_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_value"> <?php echo $this->fieldsClass->show($oneExtraField,$value); ?> </span> </td> </tr> <?php } } $specifFields = ob_get_clean(); if($displayTitle){ ?> <div id="hikashop_product_custom_info_main" class="hikashop_product_custom_info_main"> <h4><?php echo JText::_('SPECIFICATIONS');?></h4> <table width="100%"> <?php echo $specifFields; ?> </table> </div> <?php }

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

More
10 years 8 months ago #228333 by gorglemon
Вопрос решен! Сам даже не заметил что файл от другой версии Hikashop.
Вот правильный. С ним все работает!
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 $this->fieldsClass->prefix = ''; $displayTitle = false; ob_start(); foreach ($this->fields as $fieldName => $oneExtraField) { $value = ''; if(empty($this->element->$fieldName) && !empty($this->element->main->$fieldName)) $this->element->$fieldName = $this->element->main->$fieldName; if(isset($this->element->$fieldName)) $value = trim($this->element->$fieldName); if(!empty($value) || $value === '0') { $displayTitle = true; ?> <tr class="hikashop_product_custom_<?php echo $oneExtraField->field_namekey;?>_line"> <td class="key"> <span id="hikashop_product_custom_name_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_name"> <?php echo $this->fieldsClass->getFieldName($oneExtraField);?> </span> </td> <td> <span id="hikashop_product_custom_value_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_value"> <?php echo $this->fieldsClass->show($oneExtraField,$value); ?> </span> </td> </tr> <?php } } $specifFields = ob_get_clean(); if($displayTitle){ ?> <div id="hikashop_product_custom_info_main" class="hikashop_product_custom_info_main"> <h4><?php echo JText::_('SPECIFICATIONS');?></h4> <table width="100%"> <?php echo $specifFields; ?> </table> </div> <?php }

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

Moderators: progreccor
Time to create page: 0.159 seconds
Powered by Kunena Forum