مستندات نسخه 1.3.000
تاریخ ویرایش: 1400/04/01 06:27 AM


افزودن کارتابل به افزونه

در صورتی که افزونه شما به کاربران امکان ثبت اطلاعات می دهد و این اطلاعات می بایست قبل از نمایش یا استفاده در نرم افزار و وب سایت توسط مدیران وب سایت تایید شوند می توانید از افزونه کارتابل برای یکپارچه کردن محل تایید داده های کاربران استفاده کنید.

توجه داشته باشید که داده های ثبت شده در پایگاه داده برای تایید در کارتابل حتما می بایست Primary Key با نام ID داشته باشند.

پوشه کارتابل

برای فعال کردن امکان استفاده از امکانات این افزونه برای افزونه خود می بایست فایل های زیر را به افزونه خود اضافه کنید.

افزونه شما می بایست پوشه console را داشته باشد. در صورتی که این پوشه را ندارید برای افزونه بسازید.

  • داخل پوشه console، پوشه ای با نام cartable بسازید

فایل های لازم برای استفاده از کارتابل را می بایست در این پوشه اضافه کنید. فایل ها و پوشه های داخل این پوشه می بایست ساختار زیر را داشته باشد.

  • فایل _index.phtml
  • پوشه forms
  • فایل action.phtml

فایل _index.phtml

این فایل بیانگر انواع داده های ورودی ذخیره شده توسط کاربران است، برای مثال اگر در پروژه شما کاربران اجازه ثبت آگهی و همچنین مقاله دارند شما می بایست به افزونه کارتابل این دو نوع داده ورودی را معرفی کنید.

در این فایل می بایست متغییری با نام $cartableJson ایجاد کنید که نگهدارنده JSON معرفی انواع داده ورودی در به صورت string با ساختار زیر باشد:

  • cartables: نگهدارنده ارایه انواع ورودی داده
    • page: فایل فرم مرتبط برای مدیریت داده که در ادامه توضیح داده می شود
    • title: عنوان نوع داده از بسته زبان افزونه
    • description: توضیح نوع داده از بسته زبان افزونه
    • user_related: با مقدار 0 و 1 می توانید مشخص کنید که آیا تایید یا رد این داده به کاربر ارسال کننده گزارش میشود یا نه
    • database: اطلاعات اتصال به پایگاه داده
      • type: نوع پایگاه داده [mysql, sqlserver, sqlite]
      • name: نام پایگاه داده
      • auth: اطلاعات دسترسی و اتصال
        • server: آدرس سرور
        • user: کاربر پایگاه داده
        • pass: کلمه عبور کاربر پایگاه داده
      • queries: شیوه فراخوانی اطلاعات ثبت شده
        • list: Query فهرست کردن داده های نیاز به بازبینی
        • search: Query جستجو در میان داده های ثبت شده
    • alert: مقدار عددی تعداد داده های نیازمند بازبینی

تنها ساختن این فایل JSON کافی است تا افزونه کارتابل لینک و صفحه فهرست داده های نیازمند تایید را در خود اضافه کند و به شما امکان جستجو روی داده های نیازمند بررسی و یا بررسی شده را بدهد.

	
$cartableJson = '{
	"cartables": [{ 
		"page": "articles",
		"title": "articles", 
		"description": "edit_articles", 
		"user_related": 1,   // 0, 1
		"database": { 
			"type": "mysql",  // sqlserver, sqlite
			"name": "[db name]",
			"auth": { 
				"server": "[db server]",
				"user": "[db user]",
				"pass": "[db pass]"
			},
			"queries": {
				"list": "SELECT ID,title FROM [table name] WHERE checked = 0",
				"search": "SELECT ID,title FROM [table name] WHERE title LIKE [searchquery]"
			} 
		}, 
		"alert": [(int)items count]
	}, ...]
}';
	

پوشه forms

این پوشه نگهدارنده فایلهای پنجره فرم مدیریت داده ثبت شده توسط کارتابل است. در این پنجره به صورت پیشفرض ابزار امکان تایید و رد داده، ارسال پیام به کاربر ثبت کننده در صورت وجود ارتباط با داده و همچنین ابزار مدیریت دسترسی کاربر ثبت کننده وجود دارد و شما تنها داده هایی که برای بررسی نیاز به نمایش دارند را در فایل فرم مرتبط با مدیریت داده باید نمایش دهید.

در پوشه فرم فایلی با نامی که در قسمت page در JSON معرفی انواع داده ثبت کرده این می سازید که محتوای آن می تواند مانند مثال زیر باشد.

توجه داشته باشید که افزونه کارتابل اجزا فرم لازم به صورت خودکار تولید می کند و شما تنها می بایست اطلاعاتی را که برای مشاهده در زمان بررسی نیاز دارید ببینید و یا اصلاح کنید را در این فرم قرار می دهید و کار بیشتری نباید بکنید.
افزونه کارتابل به این فرم مقدار ID ثبت شده در پایگاه داده را با متغییر $_id ارائه می دهد که شما می توانید برای فراخوانی داده های لازم از داده ورودی استفاده کنید.
تنها ورودی داده که در این فرم اجباری است و حتما باید داشته باشید، ورودی داده ای با عنوان action است که مشخص کننده وضعیت رد یا تایید داده ورودی است.

	
<?php
...
// Get record data with ID = $_id
?>
<div class="he-table-form">
	<div class="he-row">
		<div class="he-cell-text">title:</div>
		<div class="he-cell-input">
			<?php echo($title); ?>
		</div>
	</div>
	<div class="he-row">
		<div class="he-cell-text">data:</div>
		<div class="he-cell-input">
			<textarea name="data" ><?php echo($data); ?></textarea>
		</div>
	</div>
	<div class="he-row">
		<div class="he-cell-text">action:</div>
		<div class="he-cell-input">
			<select name="action">
				<option value="1">valid</option>
				<option value="0">invalid</option>
			</select>
		</div>
	</div>
</div>
	

پس از ساختن این فرم همه چیز آماده شده تا شما اطلاعات ثبت شده برای نمایش یا استفاده در وب سایت ذخیره شوند.

فایل action.phtml

دخیره اطلاعات ارسال شده توسط فرم مدیریت داده در این فایل انجام می شود. افزونه کارتابل به این صفحه علاوه بر ورودی داده هایی که در صفحه پنجره بررسی ساخته اید مانند فیلد action، مقدار نام صفحه را با متغیر$_act و مقدار ID را با $_id ارسال می کند.

	
// Default variables for cartable
$userid = 0; $mailsubject = ""; $actiondesc = "";
// End of default variables for cartable

if ($isstaff) {
    if ($_act == "[page name]") {
        $action = 0; if(isset($_POST["action"])) { $action = (int)$_POST["action"]; }

        if($action == 0) {
            // reject statements for ID = $_id
        } else {
            // approve statements for ID = $_id
        }
    }
    CompleteCartableTask($langShort, $_act, $userid, $mailsubject, $actiondesc);
}
	
نمای کلی افزونه
کارتابل
راهنمای استفاده نسخه 1.3.000
بیشتر در مورد این افزونه:
info_outline توجه داشته باشید که افزونه های استدیوی هروف الزاما توسط تیم توسعه استدیوی هروف ساخته نشده اند و تنها پایگاه ابری استدیوی هروف نگهداری این افزونه ها و مستندات مرتبط را به عهده دارد، لطفا درخواست ها و سوالات خود را در زمینه این افزونه با سازنده افزونه مطرح بفرمایید.