web-dev-qa-db-fra.com

À partir du modèle, comment puis-je accéder aux données récupérées dans la vue?

J'essaie d'ajouter des informations externes à un composant, qui récupère les données dans view.html.php. Une fois qu'il est récupéré, comment puis-je l'utiliser avec le modèle? J'ai essayé autant de variables habituelles que je peux imaginer, mais sans succès. Je peux voir que c'est enfoui dans $this (Qui est une extension de JModelAdmin), mais je peux trouver un moyen de l'obtenir.

exemple\view.html.php

public function display($tpl = null) {
    $this->state    = $this->get('State');
    $this->item     = $this->get('Item');
    $this->form     = $this->get('Form');
    $this->MyInfo   = $this->get(MyInfo);  // Use $this->item to get my info

models\example.php:

public function getItem($pk = null) {
    if (!$item = parent::getItem($pk))
    {
        throw new Exception('Failed to load item');
    }
    return $item;
}

public function getMyInfo($pk = null)
{
    // Need some of the data from `$this->item` already retrieved in function `display`
    // Do some SQL here

    return $mydata;
}
2
Al Knight

Essayez le parent de votre fonction get

public function getMyInfo($pk = null)
{
   $myItem = parent::getItem($pk);
   echo $myItem->myfieldname;
   .
   .
   .
2
GDP