- Posts: 3
- Thank you received: 0
Здесь вы можете свободно общаться на русском языке. Просим отнестись с пониманием к тому, что мы не разговариваем на этом языке и не можем осуществлять поддержку на нем.
Скрытие не заполненных дополнительных полей.
10 years 8 months ago #228329
by gorglemon
Скрытие не заполненных дополнительных полей. was created 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
Доброго времени суток дорогие знатоки. Крайне нуждаюсь в вашей помощи. Ситуация следующая.
Есть дополнительные поля, которые распространяются на категорию товара или на единичные товары, но в некоторых случаях не нуждаются в заполнении. В связи с чем в карточке товара не должны отображаться. Но получается совсем наоборот. Даже если дополнительное поле не заполнено метка к полю все равно отображается в карточке товара. Вопрос в следующем, что можно сделать что бы поля которые не заполнены не отображались в карточке товара, даже меткой?
-- 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.
10 years 8 months ago #228331
by gorglemon
Replied by gorglemon on topic Скрытие не заполненных дополнительных полей.
Я понимаю что копать нужно в файле который отвечает за выдачу дополнительных полей. Но я не программист на 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.
10 years 8 months ago #228333
by gorglemon
Replied by gorglemon on topic Скрытие не заполненных дополнительных полей.
Вопрос решен! Сам даже не заметил что файл от другой версии 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