DISPLAY
BO
Desde 1.7.7
displayAdminOrderSide
~3 min de lectura
#Descripcion
Añade un panel lateral en la vista de detalle del pedido en el back office. Desde PS 1.7.7, la vista de pedido tiene un layout de dos columnas: la columna principal (detalles del pedido) y una columna lateral derecha. Este hook permite insertar contenido en la columna lateral — ideal para informacion complementaria como datos de envio, notas internas, integraciones con ERP, etc.
Disparado por
-
OrderController (Symfony)::viewAction()— src/PrestaShopBundle/Controller/Admin/Sell/Order/OrderController.php
#Parametros
| Nombre | Tipo | Requerido | Descripcion |
|---|---|---|---|
| $id_order | int | Si | ID del pedido que se esta visualizando |
Retorno
string
HTML del panel lateral
#Ejemplo de codigo
mymodule.php
php
public function install()
{
return parent::install()
&& $this->registerHook('displayAdminOrderSide');
}
mymodule.php
php
/**
* Hook displayAdminOrderSide — Panel de notas internas
*/
public function hookDisplayAdminOrderSide($params)
{
$id_order = (int)$params['id_order'];
$order = new Order($id_order);
if (!Validate::isLoadedObject($order)) {
return '';
}
// Cargar notas internas del pedido
$notes = Db::getInstance()->executeS(
'SELECT * FROM `' . _DB_PREFIX_ . 'mymodule_order_notes`
WHERE id_order = ' . $id_order . '
ORDER BY date_add DESC'
);
$customer = new Customer($order->id_customer);
$carrier = new Carrier($order->id_carrier);
$this->context->smarty->assign([
'id_order' => $id_order,
'order' => $order,
'notes' => $notes,
'customer_name' => $customer->firstname . ' ' . $customer->lastname,
'carrier_name' => $carrier->name,
'ajax_url' => $this->context->link->getAdminLink('AdminModules', true, [], [
'configure' => $this->name,
'action' => 'saveNote',
'ajax' => 1,
]),
'module_path' => $this->_path,
]);
return $this->display(__FILE__, 'views/templates/admin/order-side-panel.tpl');
}
#Notas y gotchas
- ⚠️ Solo disponible desde PS 1.7.7 — en versiones anteriores no existe la vista de pedido con columna lateral.
- ⚠️ El contenido se renderiza como un panel Bootstrap 4 Card en la columna derecha.
- ⚠️ Tambien existen `displayAdminOrderTabLink` y `displayAdminOrderTabContent` para añadir tabs en la columna principal.
- ⚠️ Para añadir botones en la barra de acciones del pedido, usa `actionGetAdminOrderButtons`.
- ⚠️ El HTML debe seguir las convenciones CSS del admin Symfony (Bootstrap 4, clases card, card-header, card-body).
#Relacionados
#Historial de versiones
| Version PS | Cambio |
|---|---|
| 1.7.7 | Introducido con la nueva vista de pedido Symfony |
| 8.0 | Sin cambios — sigue disponible en la misma posicion |
Descargar en Markdown
Pensado para pegar en ChatGPT, Claude u otra IA. Incluye solo el contenido de esta pagina.