Форум русской поддержки Joomla!® CMS
06.12.2016, 07:06:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

[Решено] Спрятать Видео на странице товара, если его не добавлено

 (Прочитано 533 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dron
Живу я здесь
******

Репутация: +11/-9
Offline Offline

Сообщений: 1080


« : 08.04.2015, 23:25:34 »

Добрый день.

На странице товара вводятся ряд разделов: Полное описание, Характеристики, Отзывы, Видео и т.п.

Вопрос: как убрать раздел (закладку), например Видео, если его для товара не добавили?

В принципе, такой же вопрос может касаться и любого другого из перечисленных разделов.

Заранее спасибо!
« Последнее редактирование: 11.04.2015, 23:45:29 от dron » Записан
dmitry_stas
Профи
********

Репутация: +796/-4
Offline Offline

Сообщений: 7761



« Ответ #1 : 08.04.2015, 23:41:43 »

для просто значения (текста, например описания) проверка выглядит так:
Код:
<?php if ($this->product->description) { ?>
тут таб описания
<?php } ?>

для нескольких значений (массива, например характеристик) так:
Код:
<?php if (count($this->product->extra_field)) { ?>
тут таб характеристик
<?php } ?>

чтобы узнать, что именно $this->product->..., можно сделать либо
Код:
print_r($this->product);
и посмотреть, что там содержится. либо просто в шаблоне найти и посмотреть имена переменных, которые надо проверять
Записан
dron
Живу я здесь
******

Репутация: +11/-9
Offline Offline

Сообщений: 1080


« Ответ #2 : 08.04.2015, 23:48:32 »

Пардоньте, видать не так спросил... Нужно убрать раздел (закладку) Видео для товаров, у которых видео нету, а для тех товаров у которых оно есть - оставить.
Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5314


Крепитесь, други.


« Ответ #3 : 09.04.2015, 08:20:34 »

Вам именно про это и написали.
Записан
dron
Живу я здесь
******

Репутация: +11/-9
Offline Offline

Сообщений: 1080


« Ответ #4 : 09.04.2015, 13:14:07 »

да? чета у меня не получилось тогда... Все равно закладка Видео всегда есть...
Записан
Arkadiy
Группа развития
*****

Репутация: +431/-0
Offline Offline

Пол: Мужской
Сообщений: 5314


Крепитесь, други.


« Ответ #5 : 09.04.2015, 16:56:39 »

Покажите свой код.
Записан
dron
Живу я здесь
******

Репутация: +11/-9
Offline Offline

Сообщений: 1080


« Ответ #6 : 11.04.2015, 20:33:58 »

Покажите свой код.
Код:
    <section class="tabs">
<input id="tab_1" type="radio" name="tab" checked="checked" />
<input id="tab_2" type="radio" name="tab" />
<input id="tab_3" type="radio" name="tab" />
<input id="tab_4" type="radio" name="tab" />
<input id="tab_5" type="radio" name="tab" />

<label for="tab_1" id="tab_l1">Описание</label>
<label for="tab_2" id="tab_l2">Характеристики</label>
<label for="tab_3" id="tab_l3">Навесное оборудование</label>
<label for="tab_4" id="tab_l4">Видео</label>
<label for="tab_5" id="tab_l5">Отзывы</label>

<div style="clear:both"></div>

<div class="tabs_cont">
<div id="tab_c1"><?php print $this->product->description; ?></div>
<div id="tab_c2">
<?php if (is_array($this->product->extra_field)){ $i=0;?>
<table class="extra_fields">
<?php $extra_field_group = "";
foreach($this->product->extra_field as $extra_field){
if ($extra_field_group!=$extra_field['groupname']){
$extra_field_group = $extra_field['groupname'];
?>
<?php }?>
<tr class="<?php echo ($i%2 ? 'odd' : 'even'); ?>"><td class="extra_fields_name"><span><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span></td><?php } ?> <td class="extra_fields_value"><?php print $extra_field['value'];$i++;?></td></tr>
<?php }?>
</table>
<?php }?>
</div>
<div id="tab_c3">
<?php
print $this->_tmp_product_html_before_related;
include(dirname(__FILE__)."/related.php");
?>
</div>

<div id="tab_c4" style="text-align:center;">
<?php if (count($this->videos)){?>
<?php foreach($this->videos as $k=>$video){?>
<?php if ($video->video_code){ ?>
<iframe frameborder="0" height="480" src="http://www.youtube.com/embed/<?php echo $video->video_code?>" width="853"></iframe><br /> <br />
<?php } ?>
<?php } ?>
<?php }?>
</div>

<div id="tab_c5">
<?php
print $this->_tmp_product_html_before_review;
include(dirname(__FILE__)."/review.php");
?>
</div>
</div>
</section>
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8805


http://n*****n.com


« Ответ #7 : 11.04.2015, 21:30:20 »

ну так как же вы скрыли ?
если условие проверки видео внутри ?
обернуть условием и сам таб и его содержимое
Записан
dron
Живу я здесь
******

Репутация: +11/-9
Offline Offline

Сообщений: 1080


« Ответ #8 : 11.04.2015, 23:43:52 »

Я сюда исходник выложил, без правок.

Ошибка была моя: я оборачивал лишь содержимое без закладок! Сделал как вы сказали   - все получилось. На всякий случай выложу тут правильный код.

Код:
   <section class="tabs">
<input id="tab_1" type="radio" name="tab" checked="checked" />
<input id="tab_2" type="radio" name="tab" />
<input id="tab_3" type="radio" name="tab" />
<input id="tab_4" type="radio" name="tab" />
<input id="tab_5" type="radio" name="tab" />

<label for="tab_1" id="tab_l1">Описание</label>
<label for="tab_2" id="tab_l2">Характеристики</label>
       <?php if (count($this->related_prod)){?>
<label for="tab_3" id="tab_l3">Навесное оборудование</label>
<?php } ?>
<?php if (count($this->videos)){?>
<label for="tab_4" id="tab_l4">Видео</label>
<?php }?>
<label for="tab_5" id="tab_l5">Отзывы</label>

<div style="clear:both"></div>

<div class="tabs_cont">
<div id="tab_c1"><?php print $this->product->description; ?></div>
<div id="tab_c2">
<?php if (is_array($this->product->extra_field)){ $i=0;?>
<table class="extra_fields">
<?php $extra_field_group = "";
foreach($this->product->extra_field as $extra_field){
if ($extra_field_group!=$extra_field['groupname']){
$extra_field_group = $extra_field['groupname'];
?>
<?php }?>
<tr class="<?php echo ($i%2 ? 'odd' : 'even'); ?>"><td class="extra_fields_name"><span><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span></td><?php } ?> <td class="extra_fields_value"><?php print $extra_field['value'];$i++;?></td></tr>
<?php }?>
</table>
<?php }?>
</div>
<?php if (count($this->related_prod)){?>
<div id="tab_c3">
<?php
print $this->_tmp_product_html_before_related;
include(dirname(__FILE__)."/related.php");
?>
</div>
<?php } ?>
<?php if (count($this->videos)){?>
<div id="tab_c4" style="text-align:center;">
<?php foreach($this->videos as $k=>$video){?>
<?php if ($video->video_code){ ?>
<iframe frameborder="0" height="480" src="http://www.youtube.com/embed/<?php echo $video->video_code?>" width="853"></iframe><br /> <br />
<?php } ?>
<?php } ?>
</div>
<?php }?>
<div id="tab_c5">
<?php
print $this->_tmp_product_html_before_review;
include(dirname(__FILE__)."/review.php");
?>
</div>
</div>
</section>

Огромное спасибо за помощь! Вопрос решен!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet