আমি কীভাবে আমার উপাদান থেকে #__ কনটেন্টে একটি নিবন্ধ যুক্ত করব?


11

আমার উপাদানটির অপরিবর্তনীয় উপায়ে সামনের প্রান্ত থেকে নিবন্ধগুলি যুক্ত করা দরকার। আমি বুঝতে পারি যে আমি তাদের কেবল মাইএসকিউএল দিয়ে সন্নিবেশ করতে পারি, তবে আমি এটি করার জন্য মূল ফাংশনগুলি ব্যবহার করতে চাই (যদি এটি সম্ভব হয়)।

উপাদানগুলিতে কোড অধ্যয়ন করে \ com_Contant, আমি যা কিছু ঘটতে হবে তা দেখে আমি কিছুটা অভিভূত হয়েছি এবং আমি আশা করছিলাম যে আমি কেবল এটিকেই কাটিয়ে উঠছি না।

জুমলাতে এর কোনও উদাহরণ রয়েছে, বা এটি সম্পাদন করার জন্য পদক্ষেপগুলির একটি সম্মেলন রয়েছে?

উত্তর:


6

মডেল ফাইলটি খুলুন এবং মডেল শ্রেণীর ভিতরে এই লাইনগুলি যুক্ত করুন:

public function getContentTable($type = 'Content', $prefix = 'JTable', $config = array())
{
    return JTable::getInstance($type, $prefix, $config);
}

এখন আপনি নিবন্ধ যুক্ত করতে মডেল শ্রেণীর অভ্যন্তরে কোনও পদ্ধতি নির্ধারণ করতে পারেন। এটার মতো কিছু:

public function addArticle()
{
    $table = $this->getContentTable();
    $table->title = "Foo";
    $table->alias = "foo";
    // or
    // $table->alias = JApplication::stringURLSafe($table->title);
    $table->catid = 2;
    $table->state = 1;
    // and so on!
    // then save it
    $table->save();
}

1

আমাকে অপ্রচলিত উপায়েও নিবন্ধগুলি লোড করতে হয়েছিল। আমি এর জন্য জুমলা কোডের অনেকগুলি সুবিধা অর্জন করতে সক্ষম হয়েছি। আপনার প্রয়োজনের উপর ভিত্তি করে আপনার এটিকে সামঞ্জস্য করা দরকার।

এই ফাংশনটি একটি আইডি (সংখ্যাসূচক) বা একটি উপাধি দেওয়া একটি আর্টলাইস ফিরিয়ে দেবে।

    function loadArticle($id){

            $app = JFactory::getApplication();
            $db = JFactory::getDBO();
            $query = $db->getQuery(true);
            $selects = array('a.introtext','a.publish_up','a.publish_down');
            $query->select($selects);
            $query->from('#__content as a');

            // select the alias or id
            $where = 'a.title = ' . $db->q(NNText::html_entity_decoder($id));
            $where .= ' OR a.alias = ' . $db->q(NNText::html_entity_decoder($id));
            if (is_numeric($id)) {
                    $where .= ' OR a.id = ' . $id;
            }

            $query->where('(' . $where . ')');

            // check the publish and unpublish dates
            $now = JFactory::getDate('now','UTC');
            $nullDate = $db->getNullDate();

            $query->where('a.state = 1');

            $query->where('( a.publish_up = ' . $db->q($nullDate) . ' OR a.publish_up <= ' . $db->q($now) . ' )');
            $query->where('( a.publish_down = ' . $db->q($nullDate) . ' OR a.publish_down >= ' . $db->q($now) . ' )');

            $db->setQuery($query);
            $article = $db->loadObject();
            return $article;
    }

এটি একটি নিবন্ধ পেতে ভাল পরিষ্কার সূচনার পয়েন্ট মত দেখাচ্ছে, কিন্তু আমার একটি নিবন্ধ যুক্ত করা প্রয়োজন ...
আল নাইট

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