পিএইচপি ব্যবহার করে বিভাগ, উপশ্রেণী এবং নিবন্ধ তৈরি করুন


10

জুমলা বিভাগ, উপশ্রেণীশ্রেণী এবং পিএইচপি স্ক্রিপ্ট ব্যবহার করে নিবন্ধগুলি গতিশীলভাবে তৈরি করা সম্ভব?

কোন উদাহরণ লিঙ্ক আছে?


2
হ্যাঁ এটি সম্ভব তবে খুব কঠিন এবং com_contentআপনি জুমলার সবচেয়ে জটিল অন্তর্নির্মিত এক্সটেনশন হিসাবে পিএইচপি সম্পর্কে অত্যন্ত পরিচিত না হলে আমি এর বিরুদ্ধে পরামর্শ দেব । আপনি সম্ভবত
এটির

@ লডার আপনার উত্তরের জন্য আপনাকে ধন্যবাদ। সত্যি কথা বলতে আমার পিএইচপি সম্পর্কে জ্ঞান আছে এবং আমি ব্যাকএন্ড ইন্টারফেস ব্যবহার করে জুমলা ব্যবহার করি। আমি যেটি তৈরি করতে চাই তা হ'ল একটি সাইট থাকতে আমি জুমলা অ্যাডমিন কনসোল (মেনু, পৃষ্ঠাগুলি ইত্যাদি) ব্যবহার করে কিছু বৈশিষ্ট্য যুক্ত করেছি এবং আমি পিএইচপি স্ক্রিপ্টগুলি ব্যবহার করে সামান্য পরিবর্তন করতে চাই। এটি তৈরি করার জন্য কি কোনও ধরণের টিউটোরিয়াল রয়েছে?
useruseruser

উত্তর:


15

এটি করার জন্য এটি একটি বরং বিস্তৃত প্রক্রিয়া, তবে আমি কোডটি ছাঁটাই ডাউন সংস্করণ যা আমি সাধারণত ব্যবহার করি's আমি অগত্যা গ্যারান্টি দিচ্ছি না যে এটি যেভাবে চালিত হবে সেহেতু আমি যেভাবে অভ্যন্তরীণ স্টাফগুলি গুছিয়ে ফেললাম যেগুলি আমরা চলতে শুরু করি, তবে আপনার এটি করা টুকরোগুলি।

আপনি টেবিল তাকান করতে হবে #__categoriesএবং #__contentসব ক্ষেত্র আপনি পূরণ এবং তাদের প্রদত্ত যোগ করতে চান পেতে $category_dataএবং $article_dataঅ্যারে।

আমি আপনি যে উল্লেখ করা উচিত পারে এটা jDatabase বা jTable সঙ্গে রেকর্ড ঢোকাতে সাধা, কিন্তু আমি সাধারণত না করার পরামর্শ চাই যে কারণ গুরুত্বপূর্ণ জিনিস যে তোমাকে মিস হতে চাই অন্তর্নিহিত জুমলা নিয়ম এবং যুক্তিবিজ্ঞান যে স্বতন্ত্রতা পরীক্ষণ মত কাজগুলি উপনামটি এবং নতুন সামগ্রী আইটেমগুলির জন্য এসিএল পরিচালনা করে।

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

জুমলা অবশ্যই লোড করতে হবে, সুতরাং আপনি যদি কিছু বিদ্যমান কোড না করে থাকেন তবে আপনার এটি লোড করা দরকার। আমি তা পূরণ করতে আমার উত্তর আপডেট করেছি, তাই আপনি যেতে ভাল।
জিডিপি

এই কোডটির জন্য নয়, এটি জুমলা মডেলগুলিকে জুমলার মতো করে যুক্ত করতে ব্যবহার করে। আপনার এই কোডটি পিএইচপি ফাইলে রাখতে সক্ষম হওয়া উচিত, আপনি যে ক্ষেত্রটি আপডেট করতে চান এবং ডেটা অ্যারেটি সফলভাবে চালাতে চান তা পূরণ করুন। আমাকে কয়েক মিনিট দিন, এবং আমি আমার উত্তরটি আপডেট করব 100% কার্যকরী কোড অন্তর্ভুক্ত করতে।
জিডিপি

আপডেট করা কোডটি এখন যেমন নির্বাহ করা হয় তখন এর মধ্যে একটি বিভাগ এবং একটি নিবন্ধ তৈরি করে। এফওয়াইআই, আপনি যদি 0 এর পরিবর্তে কোনও বৈধ আইডি নির্দিষ্ট করে থাকেন তবে এটি বিভাগ বা যোগ করার পরিবর্তে নিবন্ধটি আপডেট করবে। এছাড়াও, এসিএল বিধিগুলি alচ্ছিক ... আমি আমার লিপিটি এসিএল ব্যবহার করে এমন একটি থেকে এটি অনুলিপি করেছি, সুতরাং এটি সেখানে রয়েছে, তবে এটিও জানা সহজ।
জিডিপি

1
টেমপ্লেট বা এমভিসি এর অংশ বলে ধরে নিই আপনি যা অর্জন করতে চান তার সূত্রমাত্রই আমি প্রস্তাব দিতে পারি। জুমলা যা করে তা কাস্টমাইজ করার সর্বোত্তম উপায় হ'ল প্লাগইনগুলি, তবে আপনি যা করতে চান তার স্পষ্টতা সর্বোত্তম সমাধানটি কী তা নির্ধারণ করার জন্য সবচেয়ে গুরুত্বপূর্ণ।
জিডিপি

1
এই সমাধানটি এখনও জুমলায় দুর্দান্তভাবে কাজ করছে! 3.9.11
অ্যান্ডিগ্যাসেল

3

জুমলা এক্সটেনশানস ডিরেক্টরিতে কমপক্ষে একটি এক্সটেনশান রয়েছে, "ওএস কনটেন্ট" যা আপনি উদাহরণ হিসাবে ব্যবহার করতে পারেন:

http://extensions.joomla.org/extensions/miscellaneous/mass-content/18000

ওএস কনটেন্ট আপনাকে প্রচুর পরিমাণে নিবন্ধ এবং বিভাগ তৈরি করতে দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.