Как определить режим PostProcess PrestaShop 1.6 EDIT / ADD / DELETE? - PullRequest
0 голосов
/ 23 февраля 2020

Как определить режим РЕДАКТИРОВАНИЯ / ДОБАВЛЕНИЯ / УДАЛЕНИЯ PostProcess PrestaShop 1.6?

У меня есть код, что-то вроде этого (определить, что редактирование не работает ...):

обнаружение добавления - все в порядке обнаружение удаления - все в порядке

<?php

public function postProcess()
{

    if (Tools::isSubmit('deletems_admin_delivery_manager') && Tools::getValue('id_ms_admin_delivery_manager') != '')
    {


        $this->errors[] = Tools::displayError('DETECT DELETE');


    } elseif (Tools::isSubmit('submitAdminDeliveryManager')) {



        if (!$id_ms_admin_delivery_manager = Tools::getValue('id_ms_admin_delivery_manager')) {

            $this->errors[] = Tools::displayError('DETECT ADD');


            // this not working...
        } elseif($id_ms_admin_delivery_manager = Tools::getValue('id_ms_admin_delivery_manager')) {

            $this->errors[] = Tools::displayError('DETECT EDIT - NOT WORKING');

        }



    }

}

1 Ответ

0 голосов
/ 23 февраля 2020

Замените = на == в вашем последнем условии.

Конечно, вам не нужно третье условие:

$obj = $this->loadObject(true);
if (Tools::isSubmit('deletems_admin_delivery_manager') && $obj->id)
    {
        $this->errors[] = Tools::displayError('DETECT DELETE');
    } elseif (Tools::isSubmit('submitAdminDeliveryManager')) {
        if (@$obj->id) {
            $this->errors[] = Tools::displayError('DETECT EDIT');
        } else {
            $this->errors[] = Tools::displayError('DETECT ADD');
        }
    }

ОБНОВЛЕНИЕ:

также Вы можете использовать методы Prestashop:

public function processDelete()
{
    //Delete
}
public function processSave()
{
    //Add or Update
}
public function processAdd()
{
    //Add
}
public function processUpdate()
{
    //Update
}
...