Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将k2项拉入自定义组件视图?_Php_Oop_Joomla_Joomla2.5_Joomla K2 - Fatal编程技术网

Php 如何将k2项拉入自定义组件视图?

Php 如何将k2项拉入自定义组件视图?,php,oop,joomla,joomla2.5,joomla-k2,Php,Oop,Joomla,Joomla2.5,Joomla K2,我正在开发一个定制的joomla组件,并且有一个单视图设置。我正试图找出如何将k2项目列表拉到视图中,该列表基于一些自定义过滤器 在奇怪的英语中,它是这样的: 将所有与某些需求匹配的k2项目放入我的自定义组件视图,其中user\u id=此用户 如果能够像这样正常引用项目数据,那就太好了: $this->item->info 我只是想了解/找出将k2项目及其对象导入我的组件视图的最佳方法。这有意义吗 也许是这个?虽然我觉得这个名字表明了另一种情况:-/ JModelLegacy::

我正在开发一个定制的joomla组件,并且有一个单视图设置。我正试图找出如何将k2项目列表拉到视图中,该列表基于一些自定义过滤器

在奇怪的英语中,它是这样的:

将所有与某些需求匹配的k2项目放入我的自定义组件视图,其中user\u 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');

谢谢大家!

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

第261行:

            $items = $db->loadObjectList();
在创建查询后加载对象(代码太长,无法粘贴到此处)

在接下来的几行中,您可以看到许多项属性是如何创建、修改或生成的(300行代码)

最后,您将得到一个项目数组(php对象):


您可以获取此文件并重用代码,甚至从组件调用它(假设始终安装了该模块)。

注意:K2内容模块能够做到这一点……每当我在另一个扩展中需要任何类型的K2数据时,我都会使用K2内容模块中的方法。您介意再详细说明一下吗?谢谢,顺便说一句!我不确定我是否明白?在我看来,我应该要求/包括k2模块中的helper.php?或者我应该将模块helper.php包含到我的组件控制器中吗?
                ...
               $rows[] = $item;
        }

        return $rows;
        ...