it-swarm.com.de

Warum verwenden wir getState () in select-Abfrageanweisungen beim Abrufen von Daten in Joomla?

Ich lerne die Entwicklung von Joomla-Erweiterungen und das Überschreiben der getListQuery() -Methode eines Modells, das JModelList erweitert.

Das Problem ist nun, dass wir eine Liste von Daten aus der Datenbank abrufen können, indem wir Folgendes verwenden, was gut funktioniert:

 $ db = $ this-> getDbo (); 
 $ query = $ db-> getQuery (true); 
 $ query-> select ('id, title, state , Firma ') -> from ($ db-> quoteName (' #__ books '); 

Aber mein ebook benutzt folgende Aussage

 $ query-> select (
 $ this-> getState ('list.select', 'a.id, a.title,' .'a.state, a.company ')) ; 

Ich verstehe die Methode getState(), aber warum verwendet der E-Book-Autor getState() in der select-Anweisung? Wozu dient dies und wo wird die Eigenschaft 'list.select' definiert?

4

Durch die Verwendung von state in der select-Anweisung können externe Erweiterungen Ihre Methode einzeln verwenden und unterschiedliche Datensätze daraus abrufen.

Ein gutes Beispiel ist mod_articles_news module helper legt die Felder zur Auswahl aus dem Artikelmodell fest:

// Get an instance of the generic articles model
$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

... 

$model->setState('list.select', 'a.fulltext, a.id, a.title, a.alias, a.introtext, a.state, a.catid, a.created, a.created_by, a.created_by_alias,' .
' a.modified, a.modified_by, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access,' .
' a.hits, a.featured, a.language');

...

$items = $model->getItems();
3
Dmitry Rekun