Ir al contenido

Arquitectura de Prestashop 1.6 (I)

PrestaShop utiliza el Modelo Vista Controlador (MVC) para su arquitectura de software, que a menudo se usa en aplicaciones web donde las páginas web se generan dinámicamente. MVC aísla la lógica de la aplicación de la entrada y presentación, de modo que puedan ser desarrollados, probados y mantenidos por separado.

Una vista proporciona la interfaz de usuario presentada al cliente en el navegador. Un controlador recibe información del navegador, decide qué hacer con ella y luego pasa la información a los modelos que llevan a cabo tareas específicas.

En PrestaShop 1.6, los modelos están en el directorio classes, las vistas están en el directorio themes y los controladores están en el directorio controllers. Los archivos en el directorio raíz son la interfaz pública utilizada para llamar a los controladores.

Todo pasa a través de del archivo index.php en el directorio raíz. Así se mejora el uso compartido del código y se facilita el procesamiento de URL amigables. También hay archivos index.php en todos los subdirectorios de PrestaShop, pero estos se usan solo para evitar que el contenido de los directorios se muestre en los navegadores.Algunos subdirectorios también tienen un archivo .htaccess para permitir o bloquear el acceso a archivos individuales.

Todos los modelos, vistas y controladores tienen una advertencia en la parte superior de ellos para no modificar el archivo si el sitio web se actualizará a una nueva versión de PrestaShop en el futuro. Esto se debe a que PrestaShop permite anular estos archivos.

Las clases y los controladores se anulan utilizando el directorio de anulación. Al anular las clases y los controladores en lugar de modificarlos, pueden sobrescribirse con seguridad mediante una nueva versión de PrestaShop en el futuro sin perder ningún cambio realizado.

Los módulos de PrestaShop también tienen la misma advertencia, ya que pueden anularse en un tema al reflejar el directorio del módulo dentro del tema, p.e. themes/themename/modules/blockuserinfo/blockuserinfo.tpl.

Modelos

Los modelos en el directorio classes de PrestaShop son todas las clases PHP que amplían la clase ObjectModel.Esta clase proporciona a los modelos una ID única y un nombre e identificador de tabla para vincularlos a una fila en la base de datos.

Por ejemplo, en el modelo Address, el ID es un entero positivo, el nombre de la tabla es la dirección y el identificador de la tabla es id_address. La clase ObjectModel también define los tamaños de campo del modelo y las funciones en la clase Validate que se usan para validar los campos.

También vincula el modelo a la función de servicio web y proporciona un caché. Los nombres de las clases (modelos) terminan en Core para que puedan anularse en el directorio override / classes.

Estos son los modelos (clases) de Prestashop 1.6

Nombre del Archivo
Descripción
order/Order.php Información de los pedidos de los clientes.
order/OrderDetail.php Productos incluidos en los pedidos de los clientes.
order/OrderDiscount.php (obsoleto) Vales de pedidos de clientes.
order/OrderHistory.php Historial del estado del pedido del cliente.
order/OrderMessage.php Mensajes predeterminados que los empleados pueden usar en los pedidos.
order/OrderReturn.php Devoluciones de mercancía.
order/OrderReturnState.php Estado de las devoluciones de mercancía.
order/OrderSlip.php Recibos de crédito.
order/OrderState.php Estados de los pedidos
range/RangePrice.php Rangos de precios del transportista.
range/RangeWeight.php Rangos de pesos del transportista.
shop/Shop.php Tiendas (multitienda).
shop/ShopGroup.php Grupos de tiendas (multitienda).
shop/ShopURL.php URL de las tiendas (multitienda).
stock/Stock.php Productos guardados en almacenes (gestión avanzada de stock).
stock/StockAvailable.php Cantidad de productos almacenados en almacenes (gestión avanzada de stock).
stock/StockMvt.php Movimientos de stock (gestión avanzada de stock).
stock/StockMvtReason.php Razones del movimiento de stock (gestión avanzada de stock).
stock/StockMvtWs.php Movimientos de stock a través de Webservice (gestión avanzada de stock).
stock/SupplyOrder.php Pedidos a proveedores (gestión avanzada de stock).
stock/SupplyOrderDetail.php Productos pedidos a proveedores (gestión avanzada de stock).
stock/SupplyOrderHistory.php Historial del estado de pedidos a proveedores (gestión avanzada de stock).
stock/SupplyOrderReceiptHistory.php Historial de recepción de pedidos a proveedores  (gestión avanzada de stock).
stock/SupplyOrderState.php Estados de pedidos a proveedores (gestión avanzada de stock).
stock/Warehouse.php Almacenes
stock/WarehouseProductLocation.php Códigos de referencia de ubicación de producto en almaceń
tax/Tax.php Nombres y tarifas de impuestos.
tax/TaxRules.php Reglas de impuestos específicas.
tax/TaxRulesGroup.php Grupos de reglas de impuestos
webservice/WebserviceKey.php Claves de cuenta de Webservice
Address.php Direcciones de clientes, fabricantes y proveedores
AddressFormat.php Formatos de dirección para cada país
Alias.php Alias utilizados para redirigir errores tipográficos en el buscador de Front Office.
Attachment.php Archivos adjuntos a los productos
Attribute.php Atributos del producto que se muestran como listas desplegables en la página del producto.
AttributeGroup.php Grupos de atributos del producto que se muestran como etiquetas para los menús desplegables.
Carrier.php Transportistas usados para enviar productos a los clientes
Cart.php Carros de clientes, incluidos aquellos que no dieron como resultado un pedido.
CartRule.php Reglas del carrito de clientes, que incluyen descuentos, envío gratis y regalos.
Category.php Categorías de productos
CMS.php Páginas CMS usadas para mostrar información
CMSCategory.php Categorias usadas para organizar las páginas CMS
CMSRole.php Utilizado por el módulo de cumplimiento avanzado de la UE para vincular las páginas de CMS a roles legales.
Combination.php Combinaciones de atributos de productos y sus precios.
CompareProduct.php Comparación de productos para el cliente.
Configuration.php Configuraciones no traducidas.
ConfigurationKPI.php Indicadores clave de rendimiento (KPI) que se muestran en las pestañas de Back Office.
Connection.php Estadísticas sobre páginas visitadas.
ConnectionsSource.php Estadísticas sobre el origen de las páginas visitadas.
Contact.php Departamentos que se puede seleccionar en el formulario de contacto.
Country.php Países usados en las direcciones
County.php (obsoleto) Condados (provincias) utilizados en las direcciones.
Currency.php Monedas usadas en los precios
Customer.php Clientes que se han registrado
CustomerMessage.php Mensajes entre clientes y empleados
CustomerThread.php Hilos de mensajes enviados entre clientes y empleados.
Customization.php Datos de personalización del producto asociados con los carritos del cliente.
CustomizationField.php Los campos de personalización de imagen y texto que se muestran en las páginas de productos.
DateRange.php Intervalos de fechas utilizados en las visitas a la página.
Delivery.php Enlaces entre transportistas, zonas y rangos.
Discount.php (en desuso) Cupones de descuento que pueden ser utilizados por los clientes.
Employee.php Empleados que pueden entrar en el BalckOffice
Feature.php Etiquetas de características del producto en la página del producto.
FeatureValue.php Valores de características del producto en la página del producto.
Group.php Grupos de clientes y métodos de visualización.
GroupReduction.php Reducciones del grupo de clientes.
Guest.php Clientes que no se han registrado
Hook.php Sitios donde los módulos se pueden colocar.
Image.php Imágenes de productos
ImageType.php Tamaños de los thumbnail de las imágenes.
Language.php Idiomas usados en la página.
Mail.php Log de emails enviados y recibidos.
Manufacturer.php Fabricantes de productos.
Message.php Mensajes de clientes enviados desde la página de historial de pedidos.
Meta.php Metainformación de las páginas de PrestaShop.
Pack.php Paquetes de productos (amplía la clase de productos).
Page.php Páginas de PrestaShop que no son CMS.
PaymentCC.php (obsoleto) Información de la tarjeta de crédito.
PrestaShopLogger.php Entradas de registro para inicios de sesión, modificaciones y errores de los empleados.
Product.php Información del producto.
ProductDownload.php Productos descargables.
ProductSupplier.php Códigos y precios de referencia del producto del proveedor.
Profile.php Perfiles utilizados para restringir el acceso de los empleados.
QuickAccess.php Accesos directos en el menú desplegable en la parte superior de Back Office.
RangePrice.php Rango de precios del transportista.
RangeWeight.php Rango de pesos del transportista.
Referrer.php Datos del programa de afiliados.
RequestSql.php Consultas guardadas desde la pestaña Administrador de SQL.
Risk.php Calificaciones de riesgo Bussiness to Bussiness (B2B).
Scene.php Mapas de imágenes que vinculan productos a banners.
SearchEngine.php Motores de búsqueda que rastrean las visitas.
SpecificPrice.php Precios específicos que incluyen descuentos por cantidad para un producto.
SpecificPriceRule.php Reglas de precios específicos aplicados a múltiples productos.
State.php Estados usados en direcciones.
Store.php Tiendas usadas en el módulo localizador de tiendas.
StockMvt.php Movimientos de stock utilizados para rastrear los cambios de los empleados.
StockMvtReason.php Razones de movimientos de stock.
SubDomain.php Subdominios utilizados por la cookie de PrestaShop.
Supplier.php Proveedores de productos
Tab.php Pestañas y posiciones de Back Office.
Tag.php Etiquetas de producto utilizadas por el módulo de nube de etiquetas.
Theme.php Ajustes del tema.
Zone.php Zonas usadas por los transportistas.
Published inPRESTASHOP

Se el primero en comentar

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *