2013-02-21 136 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

相關問題