سؤال

أود إدراج مقال داخل مكوني ، هل لدى شخص ما مثال على كيفية القيام بذلك؟

سيتم اختيار المادة من الخلفية.

هل كانت مفيدة؟

المحلول

في الواجهة الخلفية ، ستقوم بتحديد المقالة ، وسيتم تخزين معرف المقالة في قاعدة بيانات في المعاملات المكونة (config.xml) أو جدول المعاملات مخصص.

في مكونك مخصص

  1. تخزين معرف المقالة إلى المتغير
  2. الاستعلام عن قاعدة البيانات #__content الجدول مع معرف المقالة
  3. عرض المقال

فمثلا

 //
 // 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;
    }

لجعل المنبثقة تحدد في النهاية الخلفية ، قم بتحرير المكون الخاص بك config.xml

يضيف addpath إلى <params> عناصر

<!-- 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="" />

ستحتاج أيضًا إلى إضافة config زر إلى شريط الأدوات على العرض الافتراضي للمكون

// Add this code in the display() method of the view
// @todo change com_mycomponent to your component's name
JToolBarHelper::preferences('com_mycomponent')   
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top