คลาสตัวช่วยที่มีเอกสารครบถ้วนสำหรับ PrestaShop CMS (8, 1.7, 1.6, 1.5) ด้วยตัวช่วยเหล่านี้ งานการเขียนโปรแกรมบางอย่างจะง่ายขึ้นและเสร็จเร็วขึ้น หน้าแรกของห้องสมุด
รายชื่อผู้ช่วย:
รายการคอนโทรลเลอร์:
รายการส่วนประกอบ:
ทุกวิธีการและคลาสได้รับการบันทึกไว้อย่างครบถ้วน ดังนั้นนี่คือตัวอย่างต่างๆ มากมาย กล่าวคือ มีเพียงตัวอย่างเดียวสำหรับแต่ละคลาส
ArrayHelper สร้างดัชนีอาร์เรย์
$array = [
['id' => '123', 'data' => 'abc'],
['id' => '345', 'data' => 'def'],
];
$result = ArrayHelper::index($array, 'id');
// The result is:
// [
// '123' => ['id' => '123', 'data' => 'abc'],
// '345' => ['id' => '345', 'data' => 'def'],
// ]
FormHelper สร้างอาร์เรย์ต้นทางสำหรับองค์ประกอบ select
$array = [
['123' => 'abc'],
['345' => 'def'],
];
$result = FormHelper::generateList($array);
// The result is:
// [
// ['id' => '123', 'name' => 'abc'],
// ['id' => '345', 'name' => 'def']
// ]
// The usage in a form definition:
array(
'type' => 'select',
'label' => 'Example',
'name' => 'example',
'options' => array(
'query' => $result,
'id' => 'id',
'name' => 'name',
),
)
LogHelper บันทึกข้อผิดพลาดในโมดูล
public function example() {
$this->log('An error occupied.');
}
public function log($messages, $level = AbstractLogger::WARNING) {
LogHelper::log($messages, $level, $this->name, $this->id);
}
DiagnosticHelper ตรวจสอบว่ามีการแทนที่วิธีการหรือไม่
if (DiagnosticHelper::isMethodOverridden('AddressController', 'init')) {
$this->_errors[] = $this->l('The AddressController::init() already overridden.');
}
AjaxModuleFrontController สร้างตัวควบคุม Ajax อย่างง่ายสำหรับโมดูล
class ExampleAjaxModuleFrontController extends AjaxModuleFrontController {
protected function actionSave() {
$this->ajaxResponse->result = true;
$this->ajaxResponse->message = 'Success!';
}
}
// The output result is:
// {"result":true,"data":null,"html":"","message":"Success!","errors":[]}
ModuleHelper รับอินสแตนซ์ของโมดูลตามเส้นทางไดเร็กทอรีที่กำหนด
$path = '/var/www/prestashop/modules/homecategoriez/classes';
$module = ModuleHelper::getInstanceByPath($path); /** @var HomeCategoriez $module The instance of the module: HomeCategoriez */
FileHelper รับขนาดไฟล์สูงสุดจริงที่สามารถอัปโหลดไปยังไซต์ได้
$sizeInBytes = FileHelper::getFileSizeUploadLimit();
องค์ประกอบแคช แคชผลลัพธ์การสืบค้น DB
public function getAllCustomers() {
$cacheKey = CacheProvider::getKeyName(__METHOD__);
$data = CacheProvider::getInstance()->get($cacheKey);
if (false === $data) {
$data = Db::getInstance()->executeS('SELECT * FROM ps_customer', true, false);
CacheProvider::getInstance()->set($cacheKey, $data, 60 * 60 * 24);
}
return $data;
}
ตัวโหลดอัตโนมัติ โดยใช้ตัวโหลดอัตโนมัติของ Composer เพื่อโหลดคลาส PHP โดยอัตโนมัติ ในโมดูล โดยการเพิ่ม classmap ให้กับไฟล์ composer.json
ของคุณ
"autoload": {
"classmap": [
"classes/",
"interfaces/"
]
}
เพิ่มการพึ่งพาโดยตรงไปยังไฟล์ composer.json
ของคุณ:
"repositories": [
{
"type": "vcs",
"url": "https://github.com/zapalm/prestashop-helpers"
}
],
"require": {
"php": ">=5.5",
"zapalm/prestashop-helpers": "dev-master"
},
มอบ ดาว ให้กับโครงการ นั่นคือทั้งหมด! -
ผู้ร่วมให้ข้อมูล จะต้อง ปฏิบัติตามกฎต่อไปนี้:
ผู้ร่วมให้ข้อมูลที่ต้องการแก้ไขไฟล์ของโครงการควรปฏิบัติตามขั้นตอนต่อไปนี้:
อย่าลังเลที่จะสร้างคำขอดึง แม้ว่าคุณจะใช้มาตรฐานการเข้ารหัสได้ยากก็ตาม