LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
22.05.2013, 05:18:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Вывод доп полей  (Прочитано 2025 раз)
0 Пользователей и 1 Гость смотрят эту тему.
orchanin
Осваиваюсь на форуме
***

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

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



« : 20.12.2010, 09:58:07 »

Меня заинтересовала такая фишка: Есть 2 дополнительных поля (к примеру). Задача вывести одно дополнительное поле например перед изображением а второе доп поле после изображения. Другими словами как разделить дополнительные поля для позиционирования их в разных местах на странице?
Я буду пробовать решить этот вопрос самостоятельно, и если решу выложу решение, но если кто то сталкивался с этим и может облегчить мой труд прошу отписаться!
Записан
lifecom
Осваиваюсь на форуме
***

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

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


« Ответ #1 : 17.03.2011, 15:24:00 »

Решение нашли?
Записан
lesta
Осваиваюсь на форуме
***

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

Сообщений: 27


« Ответ #2 : 17.03.2011, 16:06:16 »

сталкивалась с этим
у нас все доп. поля выводятся в цикле foreach
можно убрать цикл и выводить поля с нужны айди, то есть
<li class="<?php echo "odd1" ; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">           
           <span class="itemExtraFieldsLabel"><?php echo $this->item->extra_fields[11]->name; ?></span>
             <span class="itemExtraFieldsValue"><?php echo $this->item->extra_fields[11]->value; ?> </span>    
здесь результатом будет отображение доп. поля 11 по счету
Записан
vatb
Осваиваюсь на форуме
***

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

Сообщений: 54


« Ответ #3 : 17.03.2011, 22:36:15 »

Можно и написать условие

Код:
<?php foreach ($this->item->extra_fields as $key=>$extraField):?>
<?php if((!empty($extraField->value)) && (($extraField->value)!= "http://") && ($extraField->id!=3) && ($extraField->id!=4) : ?>  
         <li class="<?php echo ($key%2)? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
            <span class="itemExtraFieldsLabel"><?php echo $extraField->name; ?>:</span>
            <span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
         </li>
         <?php endif; ?>
         <?php endforeach; ?>

         Этот код выведет дополнительные поля, если они не пусты и его id не равен 3  и 4. Т.е. выведет любое доп поле, кроме третьего и четвертого.
Подставляйте свои id, если нужно несколько, допишите еще условия.
В нужном месте страницы выведите этот блок но с условием   && ($extraField->id=3) || ($extraField->id=4)
« Последнее редактирование: 19.03.2011, 10:19:34 от vatb » Записан
realovich
Давно я тут
****

Репутация: +53/-1
Offline Offline

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


Зрящий в корень


« Ответ #4 : 18.03.2011, 16:25:48 »

Можно и написать условие

Код:
<?php foreach ($this->item->extra_fields as $key=>$extraField):?>
<?php if((!empty($extraField->value)) && (($extraField->value)!= "http://") && ($extraField->id!=3) && ($extraField->id!=4) : ?>  
         <li class="<?php echo ($key%2)? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
            <span class="itemExtraFieldsLabel"><?php echo $extraField->name; ?>:</span>
            <span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
         </li>
         <?php endforeach; ?>

         Этот код выведет дополнительные поля, если они не пусты и его id не равен 3  и 4. Т.е. выведет любое доп поле, кроме третьего и четвертого.
Подставляйте свои id, если нужно несколько, допишите еще условия.
В нужном месте страницы выведите этот блок но с условием   && ($extraField->id=3) || ($extraField->id=4)

У меня этот код ругается:
Parse error: syntax error, unexpected ':' in /.../components/com_k2/templates/default/category_item.php on line 138
« Последнее редактирование: 18.03.2011, 16:34:53 от realovich » Записан
realovich
Давно я тут
****

Репутация: +53/-1
Offline Offline

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


Зрящий в корень


« Ответ #5 : 18.03.2011, 16:34:37 »

И можно ли как-то указать, чтобы только одно доп. поле вывести, а не путем исключения.
Записан
vatb
Осваиваюсь на форуме
***

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

Сообщений: 54


« Ответ #6 : 19.03.2011, 10:18:30 »

сорри, забыл if закрыть))   добавьте перед <?php endforeach; ?>    <?php endif; ?> все должно заработать.

Цитировать
И можно ли как-то указать, чтобы только одно доп. поле вывести, а не путем исключения.

да, там же ниже написано как это сделать. Поставить условие  && ($extraField->id=3)  оно выведет только поле с ид=3

Я поправил код выше

Записан
xlife
Новичок
*

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

Сообщений: 4


« Ответ #7 : 12.04.2011, 19:12:15 »

Можно и написать условие

Код:
<?php foreach ($this->item->extra_fields as $key=>$extraField):?>
<?php if((!empty($extraField->value)) && (($extraField->value)!= "http://") && ($extraField->id!=3) && ($extraField->id!=4) : ?> 
         <li class="<?php echo ($key%2)? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
            <span class="itemExtraFieldsLabel"><?php echo $extraField->name; ?>:</span>
            <span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
         </li>
         <?php endif; ?>
         <?php endforeach; ?>

         Этот код выведет дополнительные поля, если они не пусты и его id не равен 3  и 4. Т.е. выведет любое доп поле, кроме третьего и четвертого.
Подставляйте свои id, если нужно несколько, допишите еще условия.
В нужном месте страницы выведите этот блок но с условием   && ($extraField->id=3) || ($extraField->id=4)

разместил этот код в item.php 
ругается на строку
<?php if((!empty($extraField->value)) && (($extraField->value)!= "http://") && ($extraField->id!=3) && ($extraField->id!=4) : ?> 
Записан
eragon
Осваиваюсь на форуме
***

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

Сообщений: 140


« Ответ #8 : 08.03.2012, 11:18:58 »

$extraField->id работает?

Имеем следующий код в item.php:
Код
	  <?php if($this->item->params->get('itemExtraFields') && count($this->item->extra_fields)): ?>
 <h2><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></h2>
<ul class="buka">
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if(($extraField->value) && ($extraField->id!=8) && ($extraField->id!=9) && ($extraField->id!=10)): ?>
<li><span style="display:block;float:left;font-weight:bold;margin:0 4px 0 0;width:30%;"><?php echo $extraField->name; ?>:</span> <span><?php echo $extraField->value; ?></span></li>
<?php endif; ?>
 
<?php if(($extraField->value) && ($extraField->id=8)): ?>
<?php $temp_k2_dw1 = '<div class="box">
<div align="center"><h3 style="margin-top:0px;">'
.$extraField->name.'</h3>
'
.$extraField->value.'</div>
</div>'
; ?>
<?php endif; ?>
<?php if(($extraField->value) && ($extraField->id=9)): ?>
<?php $temp_k2_dw2 = '<div class="box">
<div align="center"><h3 style="margin-top:0px;">'
.$extraField->name.'</h3>
'
.$extraField->value.'</div>
</div>'
; ?>
<?php endif; ?>
<?php if(($extraField->value) && ($extraField->id=10)): ?>
<?php $temp_k2_dw3 = '<div class="box">
<div align="center"><h3 style="margin-top:0px;">'
.$extraField->name.'</h3>
'
.$extraField->value.'</div>
</div>'
; ?>
<?php endif; ?>
<?php endforeach; ?>
</ul>
 <?php endif; ?>
 
 <?php echo $temp_k2_dw1; ?>
 <?php echo $temp_k2_dw2; ?>
 <?php echo $temp_k2_dw3; ?>
Где у нас поля с ID 8, 9, 10 "особенные" и которые нужно вывести в другом месте.

И имеем следующее, все, кроме 8, 9, 10, выводится, как и положено. Дальше в переменные $temp_k2_dw1, $temp_k2_dw2, $temp_k2_dw3 записываем данные из полей с ID 8, 9, 10 соответственно. В итоге получаем, что во всех этих 3х переменных данные из поля с ID 10.

Пробовал там где нужно вывести эти 3 поля, сделать аналогичный цикл, но с подобными условиями, аналогичная проблема, все 3 поля одинаковые.

P.S. В материале конечно же все поля как следует заполнены.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | 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