شنبه 08 ارديبهشت 1403

تعاریف بکار رفته در view.html (نمایش کلی رکوردها) : آموزش کامپوننت نویسی جوملا : پیشرفته

ارتباط بین اطلاعات و تعاریف داده شده و مشاهده نتیجه کار

بخش اول : منوی لیست نمایه های کامپوننت

دستورات زیر با هدف تولید لیست نمایه های تعریف شده در فایل compname.php شاخه helpers فراخوانی می شوند.

    $this->sidebar = JHtmlSidebar::render(); فراخوانی تابع addSubmenu در فایل بالا

    <?php echo $this->sidebar; ?> نمایش نتیجه مطابق با شماره 1 در تصویر ضمیمه


بخش دوم : لیست امکانات فیلتر جستجو

در این قسمت لیست کلیه فیلدهای مورد نیاز که در فایل filter_viewnames.xml که در شاخه models/forms وجود دارد فراخوانی و نمایش داده می شود .

کدهایی که برای نمایش فیلتر استفاده می شوند به قرار زیر است

در فایل view.html.php

    $this->filterForm = $this->get('FilterForm');
    $this->activeFilters = $this->get('ActiveFilters');

در فایل default.php برای نمایش بر اساس تصویر قسمت شماره 2

    <?php
    echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
    ?>


بخش سوم : کلیدهای طراحی شده برای کنترلهای مورد نظر

در فایل view.html.php برای نمایش بر اساس تصویر قسمت شماره 3

    $this->addToolbar();
    .
    .
    .
    protected function addToolbar(){
    JToolBarHelper::addNew('xxxxxxxx.add');
    JToolBarHelper::editList('xxxxxxxx.edit');
    JToolBarHelper::publish('xxxxxxxxs.publish', 'JTOOLBAR_PUBLISH', true);
    JToolBarHelper::unpublish('xxxxxxxxs.unpublish', 'JTOOLBAR_UNPUBLISH', true);
    .
    .
این دستورات در جوملا تعریف شده بوده و نیاز به فراخوانی در فایل default.php نمی باشد


بخش چهارم : نمایش صفحه بندی داده های جدول مورد نظر

در فایل view.html.php

    $this->pagination = $this->get('pagination');

در فایل default.php برای نمایش بر اساس تصویر قسمت شماره 4

    <?php echo $this->pagination->getListFooter(); ?>


بخش پنجم : مرتب سازی بر اساس فیلد ordering جدول داده ها

در فایل default.php برای نمایش بر اساس تصویر قسمت شماره 5

در این بخش فایل viewnames.php موجود در شاخه controllers تابع saveOrderAjax بصورت Ajax برای جابجائی ها فراخوانی می شود


بخش ششم : مرتب سازی بر اساس فیلد های هر ستون داده

در فایل default.php برای نمایش بر اساس تصویر قسمت شماره 6

هر ستون که با ساختار زیر تعریف شود نمایه توانایی مرتب سازی بر اساس آن ستون را دارد

<?php echo JHtml::_('searchtools.sort','عنوان ترجمه ای فیلد', 'نام فیلد', $listDirn, $listOrder); ?>

پارامترها و متغیرهای مورد نیاز برای این کنترل ها در فایل viewnames.php در شاخه models قرار دارد که به شرح زیر می باشد

    public function __construct($config = array()){
    if (empty($config['filter_fields'])) {
        $config['filter_fields'] = array(
        'a.id',
        'alias',
        'نام فیلد',
        'published',
        'a.ordering'
        );
        }
        parent::__construct($config);
    }

		file : view.html.php
items		= $this->get('Items');
	$this->pagination	= $this->get('pagination');
	$this->state	= $this->get('State');
        $this->filterForm    = $this->get('FilterForm');
        $this->activeFilters = $this->get('ActiveFilters');
	.
	.
	.

	$this->addToolbar();
	$this->sidebar = JHtmlSidebar::render();
	.
	.
	.
	protected function addToolbar(){
		JToolBarHelper::addNew('xxxxxxxx.add');
		JToolBarHelper::editList('xxxxxxxx.edit');
		JToolBarHelper::publish('xxxxxxxxs.publish', 'JTOOLBAR_PUBLISH', true);
		JToolBarHelper::unpublish('xxxxxxxxs.unpublish', 'JTOOLBAR_UNPUBLISH', true);
	.
	.
	.
	.
?>
file : default.php
escape($this->state->get('list.ordering'));
	$listDirn	= $this->escape($this->state->get('list.direction'));
	$saveOrder	= $listOrder == 'a.ordering';
	if ($saveOrder)
	{
		$saveOrderingUrl = "index.php?option=$option&task=xxxxxxxxs.saveOrderAjax&tmpl=component";
		JHtml::_('sortablelist.sortable', 'articleList', 'adminForm', strtolower($listDirn), $saveOrderingUrl);
	}
?>

	
sidebar; ?>
$this)); ?> . . . pagination->getListFooter(); ?>

اوقات شرعی

امروز: 1403/02/07

عمومی

کامپوننت ساز جوملا

کامپوننت ساز جوملا

محسن بزرگی وکیل پایه یک دادگستری

محسن بزرگی وکیل پایه یک دادگستری

عضویت در زرین پال

عضویت در زرین پال
علیرضا بلوردی (برنامه نویس PHP)
سیرجان, کرمان
علیرضا بلوردی
ولی عصر, سیرجان, کرمان 7817645939
+989131789658
نمونه کارها و کامپوننتهای نوشته شده توسط علیرضا بلوردی برنامه نویس جوملا و PHP