2013-02-21 131 views
2

我正在开发一个定制的joomla组件,并有一个单一的视图设置。我试图找出如何拉K2项目到基于几个自定义过滤器视图列表...如何将k2物品放入我的自定义组件视图中?

怪异英语它会是这样的:

获取所有K2项目that_match_some_requirements进入我的自定义组件查看其中USER_ID =该用户

这将是很好能够正常引用该项目的数据,像这样:

$this->item->info 

我真的只是想下站出来找出将k2项目及其对象导入我的组件视图的最佳方法。如果这有道理?

也许这是什么?虽然我觉得这个名字表示不一样: -/

JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_component/models'); 
$whateverModel = JModelLegacy::getInstance('something', 'something'); //? not sure 

或者也许从这个模块代码?

require_once (JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'helpers'.DS.'route.php'); 
require_once (JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'helpers'.DS.'utilities.php'); 

class modK2ContentHelper 
{ 

public static function getItems(&$params, $format = 'html') 
{ 

    jimport('joomla.filesystem.file'); 
    $mainframe = JFactory::getApplication(); 
    $limit = $params->get('itemCount', 5); 
    $cid = $params->get('category_id', NULL); 
    $ordering = $params->get('itemsOrdering', ''); 
    $componentParams = JComponentHelper::getParams('com_k2'); 
    $limitstart = JRequest::getInt('limitstart'); 

谢谢!

+2

注意:K2内容模块能够做到这一点... – DigitalMediaGuy 2013-02-22 00:46:58

+1

每当我需要任何类型的K2数据在另一个扩展中,我使用K2内容模块中的方法。 – Shaz 2013-02-22 14:20:49

+0

你介意再详细一点吗?谢谢btw! – DigitalMediaGuy 2013-02-22 17:10:52

回答

1

我认为这是更容易您的第二选择。实际上,在helper.php文件中指定了获取具有特定条件的K2项目的整个过程。

在线路261:

  $items = $db->loadObjectList(); 

查询创建后的对象被加载(代码太长,无法粘贴在这里)。

在接下来的几行中,您可以看到如何创建,修改或生成大量项目属性(300行代码)。

在你的项目的数组结束(PHP对象):

   ... 
       $rows[] = $item; 
     } 

     return $rows; 
     ... 

你可以只是把这个文件和重用的代码,甚至从你的组件总是假设模块安装叫它。

+0

我不确定我关注?在我看来,我应该要求/包括来自k2 MODULE的helper.php?还是应该将模块helper.php包含到我的组件控制器中? – DigitalMediaGuy 2013-02-25 05:24:32

相关问题