2010-10-04 4 views

Répondre

6

Dans le Back-End, vous sélectionnez l'article, l'ID de l'article sera stocké dans une base de données dans les paramètres de composant (config.xml) ou dans un tableau de paramètres de composants personnalisés.

En vous composant personnalisé

  1. magasin Article Id à la variable
  2. Interrogez la base de données #__content table Numéro d'article
  3. Afficher l'article

Par exemple

// 
// Function for your model 
// 
/** 
* 
* @return object 
* 
* Object will have following structure 
* 
* Field   Type  
* ----------------------------------   
* id    "int(11) unsigned" 
* title   varchar(255) 
* alias   varchar(255) 
* title_alias varchar(255) 
* introtext  mediumtext 
* fulltext   mediumtext 
* state   tinyint(3) 
* sectionid  "int(11) unsigned" 
* mask    "int(11) unsigned" 
* catid   "int(11) unsigned" 
* created   datetime 
* created_by  "int(11) unsigned" 
* created_by_alias varchar(255) 
* modified   datetime 
* modified_by "int(11) unsigned" 
* checked_out "int(11) unsigned" 
* checked_out_time datetime 
* publish_up  datetime 
* publish_down datetime 
* images   text 
* urls    text 
* attribs   text 
* version   "int(11) unsigned" 
* parentid   "int(11) unsigned" 
* ordering   int(11) 
* metakey   text 
* metadesc   text 
* access   "int(11) unsigned" 
* hits    "int(11) unsigned" 
* metadata   text 
*/ 
public function getMyArticle() { 

     // Get Component parameters (config.xml) 
     $params = JComponentHelper::getParams('com_mycomponent'); 

     // Get Specific parameter 
     $myArticleId = (int) $params->get('articleId', 0); 

     // Make sure parameter is set and is greater than zero 
     if ($myArticleId > 0) { 

      // Build Query 
      $query = "SELECT * FROM #__content WHERE id = $myArticleId"; 

      // Load query into an object 
      $db = JFactory::getDBO(); 
      $db->setQuery($query); 
      return $db->loadObject(); 
     } 

     // 
     return null; 
    } 

Pour faire pop-up sélectionnez dans l'arrière, modifier config.xml de votre composant

ajouter addpath aux <params> éléments

<!-- Add the path to content elements --> 
<params addpath="/administrator/components/com_content/elements"> 
    <!-- Add Select Article param --> 
    <param name="articleId" type="article" default="0" label="Select Article" description="" /> 

Vous devez également ajouter le bouton config à la barre d'outils de la composante Vue par défaut

// Add this code in the display() method of the view 
// @todo change com_mycomponent to your component's name 
JToolBarHelper::preferences('com_mycomponent') 
+0

Merci! :) cela fonctionne mais va un peu plus loin comment faire popup sélectionner une forme pour choisir l'article dans le backend? – miojamo

+0

voir 2ème partie de la réponse – Alex

+0

C'est un bon exemple mais je voudrais l'avoir sur la même page de paramètres n'utilisant pas de paramètres et de préférences. Juste une forme simple avec le bouton – miojamo

Questions connexes