2012-03-26 11 views
5

मैं जूमला 2.5 का उपयोग कर एक विशेष घटक बनाने के लिए उपयोग कर रहा हूं जिसे फ्रंट एंड से निष्पादित किया गया है।जूमला में कस्टम फ्रंट एंड घटक से मेनू पुनर्निर्माण कैसे करें?

इस घटक xml फ़ाइल को पार्स करता जूमला मेनू के निर्माण के लिए, मैं #__menu क्वेरी सम्मिलित क्रियान्वित कर रहा हूँ, लेकिन मैं एलएफटी और rgt क्षेत्रों के लिए 0s छोड़ दें।

मेनू बहुत गन्दा बनाया जा रहा है, और जब मैं बैक-एंड पर बटन के पुनर्निर्माण क्लिक करें सब कुछ है कि के बाद एकदम सही लग रहा है, पथ, एलएफटी, और rgt क्षेत्रों ठीक से जमा की जा रही है।

मैं 2 दिन बिताए हैं निष्पादित करने के लिए पुनर्निर्माण मेरी सामने के अंत घटक के नियंत्रक और मॉड्यूल से कार्य की कोशिश कर रहा, मैं भी jimport ('joomla.database.tablenested') लेकिन पीएचपी की मेरी कमी का उपयोग करने की कोशिश की है OOP ज्ञान मदद नहीं करता है मुझे सही ढंग से निष्पादित करने के लिए पुनर्निर्माण समारोह ...

आखिरी बात मैंने लिखा यह था:

jimport('joomla.database.tablenested'); 
class BSImportModelBSImport extends JModel 
{ 
    ... 
    function theimport() 
    { 
    ... 
    $db =& JFactory::getDBO(); 
    $menu = new JTableNested('Menu', 'id',&$db); 
    return $menu->rebuild(); 
    } 
} 

कृपया मेरे सिर को पत्थर फेंक नहीं है मेरे सवाल बेवकूफ लग रहा है अगर ... मैं फिर से सहयोगी मदद की जरूरत है ...

+3

पवित्र स्टैक ओवरफ्लो! धन्यवाद धन्यवाद धन्यवाद! जब उत्तर इतना करीब था तो मैं इतनी तेजी से हारने के लिए क्षमा चाहता हूं ... बेशक !!! मैं तो बस बदलने के लिए की जरूरत: '$ मेनू = नए JTableNested ('मेनू', 'id', &$db);' '$ मेनू = नए JTableNested ('#__ मेनू', 'आईडी' के साथ, &$db);' मुझे उम्मीद है कि यह किसी की मदद करेगा ... मैं अपनी गलती के लिए फिर से मॉडरेटर से माफ़ी मांगता हूं ... धन्यवाद! –

+0

आपको एक प्रतिक्रिया पोस्ट करनी चाहिए और इसे इस प्रश्न को बंद करने के लिए स्वीकार करना चाहिए ... – StiGMaT

उत्तर

0

मैं मेनू तालिका की विधि को बचाने का उपयोग करें:

$data = array ( 
    'id' => 0 , 
    'title' => '{menu name}' , 
    'note' => '', 
    'link' => '{link}', 
    'menutype' => '{menutype}' , 
    'type' => 'url', 
    'published' => 1 , 
    'parent_id' => 1 , 
    'level' => 1 , 
    'component_id' => 0 , 
    'browserNav' => 0 , 
    'access' => getLevel() , 
    'template_style_id' => 0 , 
    'language' => '*' , 
    'params' => array ( 
     'menu-anchor_title' => '' , 
     'menu-anchor_css' => '' , 
     'menu_image' => '{url of logo for menu}', 
     'menu_text' => 1) , 
); 
$menuTable = JTable::getInstance('Menu', 'JTable', array()); 
$menuTable->save($data); 

इस विधि नए मेनू बना सकते हैं और स्वचालित रूप से फिर से बनाना।

संबंधित मुद्दे