Strict Standards: Only variables should be assigned by reference in * on line * Strict Standards: Only variables should be assigned by reference in /* on line * Notice: Undefined variable: items in * on line *
In my case this was due to using old Joomla Component rules that now with Joomla 3.2 need updating.
Take a look at this basic principle of passing values through MVC in a Joomla Component.
The Model . com_urcomp/models/preview.php
defined('_JEXEC') or die;
class Vm2mijoModelPreview extends JModelList
{
 
 /* lets go and get all the details from MySql and then we'll deal with the array in the view */ 
  public function getVirtuemartCategory(){
      $db = &JFactory::getDBO();
      $query  = "select ";
      $query .= "* ";
   // new xref table for product/categories is #__virtuemart_product_categories
      $query .= "from #__virtuemart_categories as jvc ";
     $query .= "LEFT JOIN #__virtuemart_categories_en_gb as jvcgb ON jvc.virtuemart_category_id=jvcgb.virtuemart_category_id ";
  $query .= "LEFT JOIN #__virtuemart_category_medias as jvcm ON jvc.virtuemart_category_id=jvcm.virtuemart_category_id ";
      $db->setQuery($query);
      $row = $db->loadObjectList();
      return $row;
    }
 
 public function getGreeting()
 {
 return 'Hello, World!';
 }
}  
The View.html.php  views/preview/view.html.php
defined('_JEXEC') or die;
class Vm2mijoViewPreview extends JViewLegacy
{
   function display($tpl = null) 
        {
  $model = $this->getModel();
  
  
  $greeting = $model->getGreeting();
  $this->assignRef('greeting', $greeting);
  
                          // Display the view
                parent::display($tpl);
        }
}
views/preview/tmpl/default.php
 defined('_JEXEC') or die;
// No direct access to this file
defined('_JEXEC') or die('Restricted Access');
 
echo $this->greeting;  
The error I was having was being caused on the line
$model = $this->getModel();which I had as 
 $model = &$this->getModel();
No comments:
Post a Comment