Joomla 1.5.23, VirtueMart 1.1.9
Надо написать функцию на PHP, которая будет показывать статьи в виде блога, также как это делает плагин ListItems, соответственно, за основу надо взять код из этого плагина.
Сигнатура функции должна быть такой:
function ShowBlogAnyware($ids, $options)
где $ids – массив идентификаторов статей в базе, а $options – массив такого вида:
[show_title] => 1 [num_columns] => 1 [show_readmore] => 1 [link_titles] => 1
полный список параметров должен быть, как в плагине ListItems:
pageclass_sfx, num_leading_articles, num_intro_articles, num_columns, num_links, orderby_pri, orderby_sec, multi_column_order, show_pagination, show_pagination_results, show_feed_link, show_noauth, show_title, link_titles, show_intro, show_section, link_section, show_category, link_category, show_author, show_create_date, show_modify_date, show_item_navigation, show_readmore, show_vote, show_icons, show_pdf_icon, show_print_icon, show_email_icon, show_hits, feed_summary, filter_groups, filter_type
Плагин ListItems использует “built-in view from com_content” и все эти параметры он в этот built-in view, видимо, и передаёт. Работать он может только в “article view”. В файле plugins/content/listitems.php есть соответствующая проверка:
// check whether plugin has been unpublished or if we are not in article view if (!$pluginParams->get('enabled',1) || JRequest::getVar('view')!='article' || JRequest::getVar('option') != 'com_content') { $row->text = preg_replace( $regex, '', $row->text ); return; }
Надо заставить его работать в VirtueMart на страничке товара, то есть планируется вызывать функцию ShowBlogAnyware из components/com_virtuemart/themes/<vm_theme>/templates/product_details/flypage-ask.tpl.php, чтобы показывать список статей в таком виде (полностью аналогично FrontPage):
вот типовой вариант использования плагина ListItems в статье для показа статей с заголовками и кнопкой “подробнее”:
{listitems show_title=1&num_columns=1&show_readmore=1&link_titles=1}40,41,42{/listitems}
встроенный редактор JCE заменяет символы ‘&’ на абра-кадабру, поэтому при использовании плагина ListItems его желательно отключать и выбирать No Editor: