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

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

Доп поля K2 в сторонних приложениях

 (Прочитано 2254 раз)
0 Пользователей и 1 Гость смотрят эту тему.
romagromov
Завсегдатай
*****

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

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



« : 31.03.2013, 01:04:31 »

Здравствуйте.
Волнует вопрос по выводу конкретных доп. полей K2 в сторонних компонентах.
Например, есть модуль bt content slider.
По умолчанию, поля k2 не выводит, но вставив в шаблон модуля конструкцию
<?php echo $row->extra_fields_search; ?>
можно получить вывод  всех дополнительных полей материала.
Как вывести не все, а например нужные мне (по ID или алиасу)?
Записан
jurassik
Завсегдатай
*****

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

Сообщений: 662


« Ответ #1 : 31.03.2013, 02:02:18 »

алиасу
да
Записан
romagromov
Завсегдатай
*****

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

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



« Ответ #2 : 31.03.2013, 02:13:22 »

да

Как получить поле по алиасу в шаблоне k2 мне известно.
Вы бы могли привести пример кода, который бы работал в стороннем модуле типа bt content slider.
если этот код выводит все поля
Код:
<?php echo $row->extra_fields_search; ?>
Записан
jurassik
Завсегдатай
*****

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

Сообщений: 662


« Ответ #3 : 31.03.2013, 05:11:35 »

Код:
<?php print_r ($row->extra_fields_search); ?>
увидите переменные
Записан
romagromov
Завсегдатай
*****

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

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



« Ответ #4 : 31.03.2013, 13:30:43 »

увидите переменные

Код:
<?php print_r ($row->extra_fields_search); ?>
Также выводит сам значения полей как и
Код:
<?php echo $row->extra_fields_search; ?>

Переменных не видно...

Зато вот это
Код:
<?php echo $row->extra_fields;?>

Выводит это
                 
 [{"id":"1","value":"\u0417 \u041f\u043d \u043f\u043e \u041f\u0422 \u043e 16:10"},{"id":"3","value":"
« Последнее редактирование: 31.03.2013, 13:45:04 от romagromov » Записан
jurassik
Завсегдатай
*****

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

Сообщений: 662


« Ответ #5 : 31.03.2013, 13:36:43 »

а какая переменная материала?
Записан
romagromov
Завсегдатай
*****

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

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



« Ответ #6 : 31.03.2013, 13:46:49 »

Я в этом модуле ничего не понимаю...
Вот весь код шаблона

Код:
<?php
/**
 * @package mod_bt_contentslider - BT ContentSlider Module
 * @version 1.4
 * @created Oct 2011

 * @author BowThemes
 * @email support@bowthems.com
 * @website http://bowthemes.com
 * @support Forum - http://bowthemes.com/forum/
 * @copyright Copyright (C) 2012 Bowthemes. All rights reserved.
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
 *
 */
// no direct access
defined('_JEXEC') or die('Restricted access');
if($modal){JHTML::_('behavior.modal');}
$document = JFactory::getDocument();
if(count($list)>0){?>
<div id="btcontentslider<?php echo $module->id; ?>" style="display:none;width:<?php echo $moduleWidthWrapper;?>" class="bt-cs<?php echo $moduleclass_sfx? ' bt-cs'.$params->get('moduleclass_sfx'):'';?>">
<?php if( $next_back && $totalPages  > 1  ) : ?>
<a class="prev" href="#">Prev</a><a class="next" href="#">Next</a>
<?php endif; ?>
<?php
$add_style = "";
if( trim($params->get('content_title')) ){
$add_style= "border: 1px solid #CFCFCF;padding:10px 0px;";
?>
<h3 style="width:<?php echo $moduleWidth;?>">
<?php if($params->get('content_link')) {?>
<a href="<?php echo $params->get('content_link');?>"><span><?php echo $params->get('content_title')?> </span></a>
<?php } else { ?>
<span><?php echo $params->get('content_title')?> </span>                   
<?php   }?>
</h3>
<?php } ?>
<div class="slides_container" style="width:<?php echo $moduleWidth.";".$add_style;?>">

<?php foreach( $pages as $key => $list ): ?>
<div class="slide" style="width:<?php echo $moduleWidth;?>">
<?php foreach( $list as $i => $row ): ?>
<div class="bt-row <?php if($i==0) echo 'bt-row-first'; else if($i==count($list)-1) echo 'bt-row-last' ?>"  style="width:<?php echo $itemWidth;?>%" >
<div class="bt-inner">
<?php if( $row->thumbnail && $align_image != "center"): ?>
<a target="<?php echo $openTarget; ?>" class="bt-image-link<?php echo $modal? ' modal':''?>" title="<?php echo $row->title;?>" href="<?php echo $modal?$row->mainImage:$row->link;?>">
  <img <?php echo $imgClass ?>  src="<?php echo $row->thumbnail; ?>" alt="<?php echo $row->title?>"  style="width:<?php echo $thumbWidth ;?>px; float:<?php echo $align_image;?>;margin-<?php echo $align_image=="left"? "right":"left";?>:5px" title="<?php echo $row->title?>" />
</a>
<?php endif ; ?>
<?php if( $show_category_name ): ?>
<?php if($show_category_name_as_link) : ?>
<a class="bt-category" target="<?php echo $openTarget; ?>"
title="<?php echo $row->category_title; ?>"
href="<?php echo $row->categoryLink;?>"> <?php echo $row->category_title; ?>
</a>
<?php else :?>
<span class="bt-category"> <?php echo $row->category_title; ?> </span>
<?php endif; ?><br />
<?php endif; ?>

<div class="extra_field">
                   
                    <?php echo $row->extra_fields;?>
                    </div>
                   
<?php if( $row->thumbnail && $align_image == "center" ): ?>
<div class="bt-center">
<a target="<?php echo $openTarget; ?>"
class="bt-image-link<?php echo $modal? ' modal':''?>"
title="<?php echo $row->title;?>" href="<?php echo $modal?$row->mainImage:$row->link;?>">
<img <?php echo $imgClass ?> src="<?php echo $row->thumbnail; ?>" alt="<?php echo $row->title?>"  style="width:<?php echo $thumbWidth ;?>px;" title="<?php echo $row->title?>" />
</a>
</div>
<?php endif ; ?>
                   
                    <?php if( $showTitle ): ?>
<a class="bt-title" target="<?php echo $openTarget; ?>"
title="<?php echo $row->title; ?>"
href="<?php echo $row->link;?>"> <?php echo $row->title_cut; ?> </a>
<?php endif; ?>
<?php if( $showAuthor || $showDate ): ?>
<div class="bt-extra">
<?php if( $showAuthor ): ?>
<span class="bt-author"><?php echo JText::sprintf('BT_CREATEDBY' ,
JHtml::_('link',JRoute::_($row->authorLink),$row->author)); ?>
</span>
<?php endif; ?>
<?php if( $showDate ): ?>
<span class="bt-date"><?php echo JText::sprintf('BT_CREATEDON', $row->date); ?>
</span>
<?php endif; ?>
</div>
<?php endif; ?>

<?php if( $show_intro ): ?>
<div class="bt-introtext">
<?php echo $row->description; ?>
</div>
<?php endif; ?>

<?php if( $showReadmore ) : ?>
<p class="readmore">
<a target="<?php echo $openTarget; ?>"
title="<?php echo $row->title;?>"
href="<?php echo $row->link;?>"> <?php echo JText::_('READ_MORE');?>
</a>
</p>
<?php endif; ?>

</div>
<!--end bt-inner -->
</div>
<!--end bt-row -->
<?php
if($itemsPerCol > 1 && $i < count($list)-1){
if(($i+1)%$itemsPerRow ==0){
echo '<div class="bt-row-separate"></div>';
}
}
?>
<?php endforeach; ?>
<div style="clear: both;"></div>

</div>
<!--end bt-main-item page -->
<?php endforeach; ?>
</div>
</div>
<!--end bt-container -->
<div style="clear: both;"></div>

<script type="text/javascript">
if(typeof(btcModuleIds)=='undefined'){var btcModuleIds = new Array();var btcModuleOpts = new Array();}
btcModuleIds.push(<?php echo $module->id; ?>);
btcModuleOpts.push({
slideEasing : '<?php echo $slideEasing; ?>',
fadeEasing : '<?php echo $slideEasing; ?>',
effect: '<?php echo $effect; ?>',
preloadImage: '<?php echo $preloadImg; ?>',
generatePagination: <?php echo $paging ?>,
play: <?php echo $play; ?>,
hoverPause: <?php echo $hoverPause; ?>,
slideSpeed : <?php echo $duration; ?>,
autoHeight:<?php echo $autoHeight ?>,
fadeSpeed : <?php echo $fadeSpeed ?>,
equalHeight:<?php echo $equalHeight; ?>,
width: <?php echo $moduleWidth=='auto'? "'auto'":$params->get( 'module_width', 0 ); ?>,
height: <?php echo $moduleHeight=='auto'? "'auto'":$params->get( 'module_height', 0 ); ?>,
pause: 100,
preload: true,
paginationClass: '<?php echo $butlet==1 ? 'bt_handles': 'bt_handles_num' ?>',
generateNextPrev:false,
prependPagination:true,
touchScreen:<?php echo $touchScreen ?>
});
</script>
<?php
// set position for bullet
if($butlet) {
$nav_top = (-1)*(int)$params->get( 'navigation_top', 0 );
$nav_right = (-1)*(int)$params->get( 'navigation_right', 0 )+5;
if(trim($params->get('content_title'))) $nav_top += 13;
$document->addStyleDeclaration(
$modid . ' ' . ($butlet == 1 ? '.bt_handles' : '.bt_handles_num'). '{'.
'top: ' . $nav_top .'px !important;'.
'right: ' . $nav_right . 'px !important'.
'}'
);

}
// set responsive for mobile device
if($moduleWidth=='auto'){
$document->addStyleDeclaration(
'
@media screen and (max-width: 480px){.bt-cs .bt-row{width:100%!important;}}'
);
}
}
else
{
echo '<div>No result...</div>';
} ?>
Записан
jurassik
Завсегдатай
*****

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

Сообщений: 662


« Ответ #7 : 31.03.2013, 14:11:21 »


Код:
<?php print_r (row->extra_fields);?>
Записан
romagromov
Завсегдатай
*****

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

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



« Ответ #8 : 31.03.2013, 14:17:23 »

Код:
<?php print_r (row->extra_fields);?>
- вешает сайт

Код:
<?php print_r ($row->extra_fields);?>

Выводит это
               
 [{"id":"1","value":"\u0417 \u041f\u043d \u043f\u043e \u041f\u0422 \u043e 16:10"},{"id":"3","value":"
Записан
jurassik
Завсегдатай
*****

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

Сообщений: 662


« Ответ #9 : 31.03.2013, 14:31:59 »

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

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

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



« Ответ #10 : 31.03.2013, 14:56:21 »

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

Я бы тоже так сделал, но есть уже готовый модуль, который есть.
Там приличные сложности со стилями, обрезка изображений и т.д. Короче прикинув за и против, понял что рентабельнее вывести одно доп. поле, чем с ноля подгонять целый шаблон.
Записан
Afterlife
Осваиваюсь на форуме
***

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

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



« Ответ #11 : 16.04.2013, 18:50:35 »

Я бы тоже так сделал, но есть уже готовый модуль, который есть.
Там приличные сложности со стилями, обрезка изображений и т.д. Короче прикинув за и против, понял что рентабельнее вывести одно доп. поле, чем с ноля подгонять целый шаблон.
как-то решил свою проблему? я вот не могу добиться выводить альтернативный текст вместо readmore
Записан
Afterlife
Осваиваюсь на форуме
***

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

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



« Ответ #12 : 16.04.2013, 19:12:42 »

В общем использую поле автора для своего текста. не выход, но пользователь и не подозревает Azn
Записан
iluvvm
Осваиваюсь на форуме
***

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

Сообщений: 75


« Ответ #13 : 19.04.2013, 21:03:09 »

Все из-за того, что все все доп.поля зашифрованы в JSON в одной ячейке таблицы. Любой кто делает большой навороченный проект с сортировкой и обработкой данных рано или поздно будет жестко обломан. Это должно красными буквами быть написано на главной странице К2.
Записан
Dorfman
Живу я здесь
******

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

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


Почти влез...


« Ответ #14 : 21.04.2013, 23:22:30 »

как-то решил свою проблему? я вот не могу добиться выводить альтернативный текст вместо readmore
Если вместо "подробнее" появляется readmore - поищите в языковых файлах его значение и подправьте (добавьте). А лучше обновите языковой пакет.
Записан
amazko
Новичок
*

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

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



« Ответ #15 : 27.01.2015, 04:21:27 »

Ретбята вопрос решился с выводом? тоже очень интересует етот вопрос..
Записан
claripuci
Захожу иногда
**

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

Сообщений: 19



« Ответ #16 : 23.06.2015, 11:38:30 »

Тоже вот посчастливилось с подобным столкнуться. Использовал модуль  sj_k2_categories_accordion и соответственно вывод материалов в нем тоже стандартный и доп. поля не присутствуют.
Вывод дополнительных полей К2 в модулях и сторонних расширениях поддерживающих К2
Код:
<?php $db=JFactory::getDBO();
                  $q="SELECT extra_fields FROM #__k2_items WHERE id=$item->id";
          $db->setQuery($q);
  $data_row = $db->loadResult();
                  $json = json_decode($data_row); {?>
                     
  <div>
  <?php print_r($json[Х]->value); ?>    // Тут "Х" порядковый номер (! не id !) доп. поля начиная от "0". Просто подставляйте 0 или 1 или 2 или 3 или т.д. пока нужное доп. поле не отобразится.
  </div> 
 
            <?php } ?>
Записан
Страниц: [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