- Posts: 15
COMMUNITY FORUM
- Forum
- K2 Community Forum
- English K2 Community
- From another component retrieve extra fields of an item
From another component retrieve extra fields of an item
- roland
- Topic Author
- Offline
- New Member
Less
More
4 years 4 months ago #176364
by roland
From another component retrieve extra fields of an item was created by roland
Hi, on another component (SP page Builder addon modalpopup) I need to retrieve extrafields from a single K2 item. The code I write works fine on my local xampp environment but on the live web a 500 server error occurs when executing item->extra_fields = $model->getItemExtraFields($item->extra_fields, $item);
Am I using the correct syntax?
<?php
defined ('_JEXEC') or die ('Restricted access');
require_once(JPATH_SITE.'/components/com_k2/helpers/route.php');
require_once(JPATH_SITE.'/components/com_k2/helpers/utilities.php');
class SppagebuilderAddonModal extends SppagebuilderAddons{
public function render() {
$settings = $this->addon->settings;
$class = (isset($settings->class) && $settings->class) ? $settings->class : '';
...
$itemid = (isset($settings->modal_item_id) && $settings->modal_item_id) ? $settings->modal_item_id : '';
if (!$itemid == '') {
$db = JFactory::getDbo();
$query = "SELECT i.*, c.name AS categoryname,c.id AS categoryid, c.alias AS categoryalias, c.params AS categoryparams
FROM #__k2_items as i
LEFT JOIN #__k2_categories c ON c.id = i.catid
WHERE i.published = 1 AND i.access IN(1,1,5) AND i.trash = 0 AND c.published = 1 AND c.access IN(1,1,5) AND c.trash = 0
AND i.id=$itemid";
$db->setQuery($query);
$items = $db->loadObjectList();
// Render the query results
$model = K2Model::getInstance('Item', 'K2Model');
(array) $v = array();
if(count($items)) {
foreach($items as $item) {
...
$v["title"] = $item->title;
...
$item->extra_fields = $model->getItemExtraFields($item->extra_fields, $item);
...
}
}
...
Best regards
Roland
Am I using the correct syntax?
<?php
defined ('_JEXEC') or die ('Restricted access');
require_once(JPATH_SITE.'/components/com_k2/helpers/route.php');
require_once(JPATH_SITE.'/components/com_k2/helpers/utilities.php');
class SppagebuilderAddonModal extends SppagebuilderAddons{
public function render() {
$settings = $this->addon->settings;
$class = (isset($settings->class) && $settings->class) ? $settings->class : '';
...
$itemid = (isset($settings->modal_item_id) && $settings->modal_item_id) ? $settings->modal_item_id : '';
if (!$itemid == '') {
$db = JFactory::getDbo();
$query = "SELECT i.*, c.name AS categoryname,c.id AS categoryid, c.alias AS categoryalias, c.params AS categoryparams
FROM #__k2_items as i
LEFT JOIN #__k2_categories c ON c.id = i.catid
WHERE i.published = 1 AND i.access IN(1,1,5) AND i.trash = 0 AND c.published = 1 AND c.access IN(1,1,5) AND c.trash = 0
AND i.id=$itemid";
$db->setQuery($query);
$items = $db->loadObjectList();
// Render the query results
$model = K2Model::getInstance('Item', 'K2Model');
(array) $v = array();
if(count($items)) {
foreach($items as $item) {
...
$v["title"] = $item->title;
...
$item->extra_fields = $model->getItemExtraFields($item->extra_fields, $item);
...
}
}
...
Best regards
Roland
Please Log in or Create an account to join the conversation.
- JoomlaWorks
- Offline
- Admin
Less
More
- Posts: 6218
4 years 4 months ago #176366
by JoomlaWorks
Fotis / JoomlaWorks Support Team
---
Please search the forum before posting a new topic :)
Replied by JoomlaWorks on topic From another component retrieve extra fields of an item
What PHP version do you have on your local server vs the production one?
Attaching the entire PHP file would also help me more to debug/lint your code. Additionally, if you can call a model, there is no reason to execute direct SQL queries...
Attaching the entire PHP file would also help me more to debug/lint your code. Additionally, if you can call a model, there is no reason to execute direct SQL queries...
Fotis / JoomlaWorks Support Team
---
Please search the forum before posting a new topic :)
Please Log in or Create an account to join the conversation.
- roland
- Topic Author
- Offline
- New Member
Less
More
- Posts: 15
4 years 4 months ago #176376
by roland
Replied by roland on topic From another component retrieve extra fields of an item
Hi,
Sorry to have disturbed you. I have solved the problem, that wasn't one, by adding
if(!class_exists('K2ModelItem')) {
require_once ( JPATH_SITE . '/components/com_k2/models/item.php' );
}
so as to load 'function getItemExtraFields($itemExtraFields, &$item = null)'
and my component version in local PC xampp was not same as in the web site...sic...
problem closed :)
Sorry to have disturbed you. I have solved the problem, that wasn't one, by adding
if(!class_exists('K2ModelItem')) {
require_once ( JPATH_SITE . '/components/com_k2/models/item.php' );
}
so as to load 'function getItemExtraFields($itemExtraFields, &$item = null)'
and my component version in local PC xampp was not same as in the web site...sic...
problem closed :)
Please Log in or Create an account to join the conversation.
- JoomlaWorks
- Offline
- Admin
Less
More
- Posts: 6218
4 years 4 months ago #176385
by JoomlaWorks
Fotis / JoomlaWorks Support Team
---
Please search the forum before posting a new topic :)
Replied by JoomlaWorks on topic From another component retrieve extra fields of an item
Good to know :)
Fotis / JoomlaWorks Support Team
---
Please search the forum before posting a new topic :)
Please Log in or Create an account to join the conversation.
- Forum
- K2 Community Forum
- English K2 Community
- From another component retrieve extra fields of an item