Hi Community,

ich nutze Datafeeds um Produktdaten zu importieren. Um die "Produktansicht" mit "Extra-Content" anzureichern, gibt es das Modul mod_datamenu --> "Article". Dieses Modul fügt der Ergebnisseite "Joomla Beiträge" hinzu (über den Beitrags-Alias).

Nun habe ich "Global" -> Beitragsbewertungen "Anzeigen". Die Beitragsbewertung ist auch bei "normalen" Joomla Beiträgen möglich, jedoch nicht über das mod_datamenu.

Die php-Datei "mod_datamenu.php" ist für den Aufruf des jeweiligen Beitrag über die Beitrags-Alias zuständig (getArticle). Der Code ist weiter unten.

Wie kann ich nun die Beitragsbewertung aufrufen. Hoffentlich habt ihr ne Idee.

Sonnige Grüße

mad

PHP-Code:
<?php
#
# Copyright brambring.nl
# http://www.affiliatefeeds.nl
# joomla@brambring.nl
#

// no direct access
defined'_JEXEC' ) or die( 'Restricted access' );

// Include the syndicate functions only once
require_once( dirname(__FILE__).'/helper.php' );
require_once (
JPATH_SITE .  '/components/com_datafeeds/helpers/helpers.php');
if ( 
defined('ELASTIC') ) {
require_once( 
dirname(__FILE__).'/elastichelper.php' );
$class='ModElastichelper';
} else {
$class='modDatamenuHelper';
}
$layout $params->get('layout',$params->get('type','default'));
$prefix $params->get('prefix','');
$grid $params->get('grid',3);
$ajax $params->get('ajax',0);
$list_count $params->get('list_count',15);
$levels $params->get('levels',9);
$list_sort $params->get('list_sort',"hits");
$list_volg $params->get('list_volg',"DESC");
$group_by $params->get('group_by',"");
$custom_layout $params->get('custom_layout',''); //legacy
$algo $params->get('algo','smart');
$moduleclass_sfx $params->get('moduleclass_sfx','');
$sqlfilter $params->get('sqlfilter','');

$mod_field0 $params->get('mod_field0',"");
$mod_groep $params->get('mod_groep',"");
$cache=false;
if (
$params->get('dfcache'0) ) {
                        
$cache JFactory::getCache'mod_datamenu' );
                        
$cache->setLifeTime$params->get'cache_time'15 ));
                        
$cache->setCachingtrue );
}

$app            JFactory::getApplication();
$menus           $app->getMenu();
#$menus  = &JSite::getMenu();
if ( $ajax ) {
    
$default_ids JRequest::getInt("Itemid",0);
    
$menu=new stdClass();
    
#ok we zouden nog kunnen uitzoeken wel menu dit is 
    #laten we voor nu even queries en tijd sparen
    
$menu->alias=$params->get("Itemid",0);
    
$menu->id=$default_ids;
    
$menu->component="";
} else {
    
$default_ids $params->get('default_id',0);
    if (
$itemidJRequest::getInt("Itemid",0)) {
        
$menu   $menus->getItem($itemid);
    } else {
        
$menu   $menus->getActive();
    }
}

if ( 
$menu ) {
    
$alias=$menu->id;
} else {
        
$menu=new stdClass;
    
$menu->component="";
    
$alias="0";
}

#deze zijn niet nodig voor de cache

$seen=array();
$show_param $params->get('show',0);
$mod_params=clone $params ;
foreach (
explode(",",$default_ids) as $default_id ) {
    
$id=0;
if ( 
$menu->component == "com_datafeeds" && $default_id >= ) {
  
$id=$menu->id;
    
$show=$show_param;
} else {
  if ( 
$default_id ) {
    
$id abs($default_id);
    
$show=0;
  }
  
}
$slug='';
if ( ! 
$id || isset($seen[$id]) ) { continue ;}
$seen[$id]=1;
if ( 
$id ) {
    
$alias='C'.$id.'-M'.$alias;
    
# dereference 
    
$params = clone $menus->getParams$id );
 if ( 
$menu->component != "com_datafeeds" || ($id == $menu->id) || ($menu->component == "com_datafeeds" && $default_id ) ) {
         
$q=JRequest::getVar('qt','');
         if ( 
$q ) {
                   
$params->set("qt",$q);
            
$slug .= "-$q";
         }
         
$q=JRequest::getVar('qf','');
                if ( 
$q ) {
                       
$params->set("qf",$q);
                }

         
$q=JRequest::getVar('q','');
         if ( 
$q ) {
                   
$params->set("qq",$q); #todo check legacy
                   
$params->set("q",$q);
            
$slug .= "-$q";
         } else {
                       
$q $params->get('q',"");
                       if ( 
$q ) {
                       
$params->set("q",$q);
                       }
                 }
         
$q=JRequest::getVar('min','');
         if ( 
$q ) {
                   
$params->set("min",$q);
         }
         
$q=JRequest::getVar('max','');
         if ( 
$q ) {
                   
$params->set("max",$q);
         }
       for (
$v=0;$v<=9;$v++) {
         
$q=JRequest::getVar("q$v",'');
         if ( 
$q ) {
                   
$params->set("q$v",$q);
            
$slug .= "-$q";
         }
     }
      }
if ( (
$show == ) || ( ($show == )&& ! $slug ) || (($show==2) && $slug ) ) {
$params->merge($mod_params);
$params->set('merge','ja');
$params->set('id',$id);
$params->set('module_id',$module->id);
$params->set('module_title',$module->title);
$params->set('ajax',$ajax);
$params->set('alias',$alias);
$baselink"index.php?option=com_datafeeds&Itemid=$id";
$params->set('menu_type',$menu->component);
$params->set('baselink',$baselink);
$params->set('slug',$slug);
$params->set('id',$id);
#$params->set('menu_alias',$menu->alias);


#$params->set('layout',$layout); $ not needed ?



if ( $layout =='menu' $layout='default';
if ( 
$layout =='custom' $layout=$custom_layout//legacy

$tmpl=false;
switch (
$layout ) {
    case 
'article':
    case 
'artikel':
        
#het artikel werkt met de alias als string idem voor de links
        
$params->set('alias',$menu->alias);
        if ( 
$cache !== false ) {
            
$list $cache->get(array('$class''getArticle'), array(&$params));
        } else {
            
$list=$class::getArticle($params);
        }
        
$documentJFactory::getDocument();
    
        if (isset(
$list['introtext'])) {
            echo 
$list['introtext'];
                  
$document->setDescriptionjoin(' ',array($list['metadesc'])) );
                        
$document->setMetaData ("keywords",join(',',array($list['metakey'])));
                    
$myjsondecode json_decode($list['metadata'], true);
                    if (
$myjsondecode['robots'] == 'index, follow') {
                    
$document->setMetaData ("robots"$myjsondecode['robots']);
                    } else {
                        
$document->setMetaData ("robots"'noindex, nofollow');
                    }
            
        if ( @
$title=$list['title'] ) {
            switch ( 
DF_USE_CONTENT_TITLE ) { 
                case 
'prepend' $document->setTitle($title ' ' $document->getTitle());break;
                case 
'append' $document->setTitle($document->getTitle().' '.$title);break;
                default : 
$document->setTitle($title );break;
            }
        }
        }
        break;
    case 
'links':
        
$params->set('alias',$menu->alias.$slug);
        if ( 
$cache !== false ) {
        
$list $cache->get(array('$class''getLinks'), array(&$params));
           } else {
        
$list=$class::getLinks($params);
        }
        echo 
$list;
        break;
    case 
'merchant':
            
$tmpl=JModuleHelper::getLayoutPath'mod_datamenu',$layout  );
            if ( 
$cache !== false) {
            
$dataitems $cache->get(array('$class''getMerchants'), array(&$params));
            } else {
            
$dataitems=$class::getMerchants($params);
            }
        break;
    default:
        
$tmpl=JModuleHelper::getLayoutPath'mod_datamenu',$layout  );
        if ( 
file_exists $tmpl ) ) {
          if ( 
strpos($layout,"_list") > ) {
            if ( 
$cache !== false) {
            
$dataitems $cache->get(array('$class''getList'), array(&$params));
            } else {
            
$dataitems=$class::getList($params);
            }
          }
          elseif ( 
strpos($layout,"_items") > ) {
            if ( 
$cache !== false) {
            
$dataitems $cache->get(array('$class''getItems'), array(&$params));
            } else {
            
$dataitems=$class::getItems($params);
            }
          }
          elseif ( 
strpos($layout,"_menu") > ) {
            if ( 
$cache !== false) {
            
$dataitems $cache->get(array('$class''getMenu'), array(&$params));
            } else {
            
$dataitems=$class::getMenu($params);
            }
          } elseif (
strpos($layout,"_custom") > ) {
              
#do nothing stub the dataitems, the function must take care
              
$dataitems=array();
          } else { 
# normal menu
            
if ( $cache !== false) {
            
$dataitems $cache->get(array('$class''getData'), array(&$params));
            } else {
            
$dataitems=$class::getData($params);
            }
        }
        }
        break;
    }
    if ( 
$tmpl ) {
            require( 
$tmpl);

    }
}
# foreach

# if show