如何在 prestashop 的后台添加新字段?
具体的,我想在BO中插入一个文本域:Orders->Statuses->Add New Order Status 状态名下。
我必须修改哪些文件才能做到这一点?谁能描述一下完整的过程?
谢谢
最佳答案
我正在使用 Prestashop 版本 1.6.1.2 并使用以下步骤添加了一个文本字段。您需要对核心文件进行更改。您必须在数据库中的一个表中添加字段,并在类和 Controller 文件中进行一些更改。
以下是执行相同操作的步骤。我有添加字段“my_custom_field”。
- 在order_state 表中添加一个字段
ALTER TABLE {YOUR_DB_PREFIX}order_state ADD my_custom_field VARCHAR(50) NOT NULL;
- 更改订单状态的类文件。您需要在文件“classes/order/OrderState.php”中定义您的字段
代码之后
public $deleted = 0;
添加这段代码片段
public $my_custom_field;
代码之后
'deleted' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
添加这段代码片段
'my_custom_field' => array('type' => self::TYPE_STRING),
- 打开“controllers/admin/AdminStatusesController.php”文件并进行以下更改
在函数initOrderStatutsList()
在这段代码之后
'name' => array(
'title' => $this->l('Name'),
'width' => 'auto',
'color' => 'color'
),
添加这段代码
'my_custom_field' => array(
'title' => $this->l('My Custom Field'),
'width' => 'auto',
),
在函数renderForm()中
在这段代码之后
array(
'type' => 'text',
'label' => $this->l('Status name'),
'name' => 'name',
'lang' => true,
'required' => true,
'hint' => array(
$this->l('Order status (e.g. \'Pending\').'),
$this->l('Invalid characters: numbers and').' !<>,;?=+()@#"{}_$%:'
)
),
添加这段代码
array(
'type' => 'text',
'label' => $this->l('My Custom field'),
'name' => 'my_custom_field',
),
执行此处建议的更改。希望这对你有帮助:)
关于php - 在 Prestashop 中添加新的后台办公室字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34282671/