www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

OpenСart o Prestashop o CS-Cart o ...?

not_cool 2018-07-03 11:15:44

Hay una pequeña experiencia en el desarrollo LES han hecho a los clientes de la tienda de ≈600 productos en wp+woocommerce, funciona más o menos bien, pero ahora quieren algo similar, pero con mucho, un gran número de bienes. Existe la preocupación de que el woocommerce será un problema porque los datos no se almacenan de forma óptima y el motor genera mucho consultas a la base de datos.

Es necesario elegir un cms que el máximo se acercaba por algunas exigencias:
Alrededor de 1000 productos en el inicio y poco a poco el aumento de hasta 10-20 mil
Cientos de categorías, un gran número de variaciones de 1-3 atributos, de 20 a 30 de atributos de cada producto, los atributos diferentes para diferentes grupos de productos.
Oportunidades adecuadas para la personalización. Es decir, si desea agregar donde en la página un enlace a la papelera de reciclaje con la cantidad de bienes, debe ser posible a través de la api de obtener el número y el enlace y luego los puso en el lugar correcto en la plantilla y no conectar para ello, que el plugin que muestra la papelera de reciclaje en un lugar determinado. O retirar de la página hacer checkout de código sólo los campos que desee y crear orden a partir de ellos.
Buena interno de la api, alguna envolver alrededor de consultas, es posible orm.
El sistema de eventos/хуков/algo más para la modificación de la conducta de su código, sin tocar el motor y las partes de que se actualizarán.
La posibilidad de mantener objetos de extensiones de campos adicionales, como por ejemplo añadir algún indicador, sacar чекбоксом en la administración y obtener en фронтэнде, la posibilidad de crear una página con la configuración de admin , por ejemplo, con los números de teléfono, direcciones, etc.
La capacidad de salida de productos de las diferentes categorías de patrones distintos.
Noticias y estáticas de la página, con diferentes plantillas para páginas estáticas.
Estándar normales de los módulos de la tienda: gabinete de usuario, promoción, importación, almacenamiento en caché, el cnc, el trabajo de seo, delimitación de derechos, filtros, etc.
Posibilidad de integración con el sistema de contabilidad, crm, el trabajo con la cantidad de producto.

El tema se hará de su propia, ya que los clientes con el tiempo, requerirá de cambios en casi todo, pero hay la posibilidad de gastar bastante dinero en complementos.
Hay un poco de experiencia con laravel y octoberCms, pero marcos para la base de tomar no quiera, porque el de la funcionalidad que ya existe en el CMS probable que tenga que escribir desde cero, y la experiencia para hacerlo bien no es suficiente. Sí y encontrar gente para posibles mejoras será más fácil con la cms. Битрикса por obvias razones se quiere evitar, no especializadas cms tipo de WP o Joomla también. Con magento como me di cuenta se gasta mucho más dinero en el alojamiento, administración, desarrollo y complementos, además de en la edición gratuita reducido posible.
Si se acercar para este tipo de opencart o prestashop? Tal vez hay otras opciones?

remzalp 2018-07-03 11:20:10

pre - no de OpenCart, allí también el multilingüismo y многомагазинность muy complican las solicitudes. En 100k de productos con минимальньым un conjunto de parámetros ya era bastante malo, pero salvaba el almacenamiento en caché en la parte cliente. En la administración no ha.

Mejor levante de prueba stand y estudie la cuestión.


not_cool 2018-07-03 11:30:28

remzalp y desactivar el multilingüismo y многомагазинность no se puede si no son necesarios?


remzalp 2018-07-03 12:19:32

not_cool,

SELECT p.product_id, 
(SELECT AVG(rating) AS total FROM review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, 
(SELECT price FROM product_discount pd2 
	WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '$config_customer_group_id' 
	AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) 
	AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, 
(SELECT price FROM product_special ps 
	WHERE ps.product_id = p.product_id AND ps.customer_group_id = '$config_customer_group_id' 
	AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) 
	AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special 
FROM product p 
LEFT JOIN product_description pd ON (p.product_id = pd.product_id) 
LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) 
WHERE pd.language_id = '$config_language_id' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '$config_store_id'
GROUP BY p.product_id


Es la base de la solicitud para la obtención de productos, sin necesidad de filtros adicionales que complican aún más la consulta.

Para desenroscar el multilingüismo y многомагазинность será necesario editar (hizo):
1. un modelo de producto en el cliente y la administración
2. en pantalla un formulario de cliente y de admin
3. la lógica de la papelera de reciclaje, allí también se encontraba.

Me tiró de dicha consulta, product_to_store, y el texto de la descripción перетащил de product_description en product.
Salió muy bien de velocidad.

En resumen el día, es todo desenroscar, pero se trata de una intervención en el núcleo, por lo que la actualización y luego será más difícil de las manos накатывать en el caso de la diferencia y algunos plugins pueden llevar correctamente.


remzalp 2018-07-03 12:26:42

not_cool,

DELETE FROM product WHERE product_id = '$product_id';
DELETE FROM product_attribute WHERE product_id = '$product_id';
DELETE FROM product_description WHERE product_id = '$product_id';
DELETE FROM product_discount WHERE product_id = '$product_id';
DELETE FROM product_filter WHERE product_id = '$product_id';
DELETE FROM product_image WHERE product_id = '$product_id';
DELETE FROM product_option WHERE product_id = '$product_id';
DELETE FROM product_option_value WHERE product_id = '$product_id';
DELETE FROM product_related WHERE product_id = '$product_id';
DELETE FROM product_related WHERE related_id = '$product_id';
DELETE FROM product_reward WHERE product_id = '$product_id';
DELETE FROM product_special WHERE product_id = '$product_id';
DELETE FROM product_to_category WHERE product_id = '$product_id';
DELETE FROM product_to_download WHERE product_id = '$product_id';
DELETE FROM product_to_layout WHERE product_id = '$product_id';
DELETE FROM product_to_store WHERE product_id = '$product_id';
DELETE FROM product_recurring WHERE product_id = '$product_id';
DELETE FROM review WHERE product_id = '$product_id';
DELETE FROM seo_url WHERE query = 'product_id=$product_id';
DELETE FROM coupon_product WHERE product_id = '$product_id';

he aquí las tablas relacionadas de alrededor del producto. Sí. Flexible. No siempre rápido. Costumbre apilar hasta un millón de productos - piezas de repuesto de automóviles, el mínimo de las características de la.


Total answers: 2

danial72 2018-07-03 14:21:25

bitrix. En el no muy querido de la editorial y un montón de trabajo.

amfetamine 2018-08-13 22:31:59

ideal para cualquier CMS para ELLOS, lo más importante para los brazos eran de la ubicación deseada

Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.