क्या PHP लिपियों का उपयोग करके जूमला श्रेणियों, उपश्रेणियों और लेखों को गतिशील रूप से बनाना संभव है?
क्या कोई उदाहरण लिंक है?
क्या PHP लिपियों का उपयोग करके जूमला श्रेणियों, उपश्रेणियों और लेखों को गतिशील रूप से बनाना संभव है?
क्या कोई उदाहरण लिंक है?
जवाबों:
यह ऐसा करने के लिए एक व्यापक प्रक्रिया है, लेकिन यहां कोड का एक ट्रिम डाउन संस्करण है जिसे मैं आमतौर पर उपयोग करता हूं। मैं जरूरी नहीं है कि यह दिखाया जाएगा के रूप में मैं आंतरिक सामान का एक गुच्छा फट से चला जाएगा कि हम जिस तरह से साथ करते हैं, लेकिन ये टुकड़े आप इसे करने की जरूरत है।
आपको तालिकाओं को देखने #__categories
और #__content
उन सभी क्षेत्रों को प्राप्त करने की आवश्यकता होगी जिन्हें आप आबादी देना चाहते हैं और उन्हें दिए गए $category_data
और $article_data
सरणियों में जोड़ सकते हैं ।
मुझे यह उल्लेख करना चाहिए कि आप इसे jDatabase या jTable के साथ रिकॉर्ड सम्मिलित करते हुए पूरा कर सकते हैं , लेकिन मैं आमतौर पर यह अनुशंसा नहीं करूंगा कि जो महत्वपूर्ण चीज़ आपको याद आ रही है वह अंतर्निहित Joomla नियम और तर्क है जो कि विशिष्टता की जाँच करने जैसी चीज़ें करते हैं। एलियास के लिए, और नई सामग्री मदों के लिए एसीएल का प्रबंधन।
if (!defined('_JEXEC')) {
define( '_JEXEC', 1 );
define('JPATH_BASE', realpath(dirname(__FILE__)));
require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );
defined('DS') or define('DS', DIRECTORY_SEPARATOR);
}
$app = JFactory::getApplication('site');
$category_data['id'] = 0;
$category_data['parent_id'] = 0;
$category_data['title'] = 'My Category Title';
$category_data['alias'] = 'my-categegory-title-alias';
$category_data['extension'] = 'com_content';
$category_data['published'] = 1;
$category_data['language'] = '*';
$category_data['params'] = array('category_layout' => '','image' => '');
$category_data['metadata'] = array('author' => '','robots' => '');
$category_id = createCategory($category_data);
if(!$category_id){
echo "Category create failed!";
}else{
$article_data = array(
'id' => 0,
'catid' => $category_id,
'title' => 'My article title',
'alias' => 'my-article-alias',
'introtext' => 'My intro text',
'fulltext' => '<p>My full text</p>',
'state' => 1,
'language' => '*'
);
$article_id = createArticle($article_data);
if(!$article_id){
echo "Article create failed!";
}
}
function createCategory( $data )
{
$data['rules'] = array(
'core.edit.state' => array(),
'core.edit.delete' => array(),
'core.edit.edit' => array(),
'core.edit.state' => array(),
'core.edit.own' => array(1=>true)
);
$basePath = JPATH_ADMINISTRATOR.'/components/com_categories';
require_once $basePath.'/models/category.php';
$config = array('table_path' => $basePath.'/tables');
$category_model = new CategoriesModelCategory($config);
if(!$category_model->save($data)){
$err_msg = $category_model->getError();
return false;
}else{
$id = $category_model->getItem()->id;
return $id;
}
}
function createArticle($data)
{
$data['rules'] = array(
'core.edit.delete' => array(),
'core.edit.edit' => array(),
'core.edit.state' => array(),
);
$basePath = JPATH_ADMINISTRATOR.'/components/com_content';
require_once $basePath.'/models/article.php';
$config = array();
$article_model = new ContentModelArticle($config);
if(!$article_model->save($data)){
$err_msg = $article_model->getError();
return false;
}else{
$id = $article_model->getItem()->id;
return $id;
}
}
जूमला एक्सटेंशन डायरेक्टरी में कम से कम एक एक्सटेंशन, "OSContent" है जिसे आप एक उदाहरण के रूप में उपयोग कर सकते हैं:
http://extensions.joomla.org/extensions/miscellaneous/mass-content/18000
OSContent आपको थोक में लेख और श्रेणियां बनाने की अनुमति देता है।
com_content
जैसा कि जूमला में सबसे जटिल अंतर्निहित विस्तार है। आप इसे एक अलग तरीके से संपर्क करना चाहते हैं, संभव है कि वर्तमान कार्यक्षमता में से कुछ का विस्तार किया जाए और अपनी खुद की कक्षा