Más recientemente, me convertĂ en desarrollador de complementos de CS Cart. OcurriĂł por casualidad: me contrataron para trabajar en la red de tiendas en lĂnea de San Petersburgo que venden vaporizadores y todo tipo de cosas interesantes para satisfacer las necesidades fĂsicas de las parejas que sufren y los solteros (que no entendĂan, que aĂşn no habĂan madurado). Ambas tiendas en lĂnea se implementan en dos escaparates con dominios diferentes, pero un panel de administraciĂłn y una base de datos comĂşn. ÂżQuĂ© le pasa a ella? Creo que se ha escrito mucho sobre CMS, pero agregarĂ© mi mosca en el ungĂĽento.
Viaje al módulo a través del bosque de directorios
En el proceso de desarrollo del primer mĂłdulo para esta plataforma, enfrentĂ© muchos problemas, los cuales, como pensaba, tener experiencia con OOP, asĂ como con CMS MODX Revo, no deberĂan existir. Lo primero que me llamĂł la atenciĂłn fue la estructura muy compleja y confusa del mĂłdulo:
root/ ├─ app/ │ └ addons/ <- │ └ [id_]/ <- │ ├─ controllers/ <- │ │ ├─ backend/ <- │ │ │ ├─ [_].php <- │ │ │ ├─ [].pre.php <- │ │ │ └─ [].post.php <- │ │ ├─ common/ <- │ │ │ ├─ [_].php │ │ │ ├─ [].pre.php │ │ │ └─ [].post.php │ │ └─ frontend/ <- │ │ ├─ [_].php │ │ ├─ [].pre.php │ │ └─ [].post.php │ ├─ database/ <- MySQL │ ├─ schemas/ <- PHP │ │ └─ [_]/ <- ( ) │ │ └─ [_].post.php <- │ ├─ Tygh/ <- │ │ ├─ Shippings/ <- │ │ │ └─ Services/ <- │ │ │ └─ [].php <- │ │ └─ [].php <- │ ├─ addon.xml <- │ ├─ config.php <- │ ├─ func.php <- │ └─ init.php <- ├─ design/ │ ├ backend/ <- │ │ ├ css/ <- │ │ │ └ addons/ │ │ │ └ [id_]/ <- │ │ │ ├ styles.css <- │ │ │ └ styles.less │ │ ├ mail/ <- Email │ │ │ └ templates/ │ │ │ └ addons/ <- │ │ │ └ [id_]/ <- │ │ │ ├ hooks/ <- │ │ │ │ └ [_]/ <- │ │ │ │ ├ [_].pre.tpl <- │ │ │ │ ├ [_].post.tpl <- │ │ │ │ └ [_].override.tpl <- │ │ │ ├ [_]_subj.tpl/ │ │ │ └ [_].tpl/ │ │ ├ media/ <- │ │ │ └ images/ │ │ │ └ addons/ │ │ │ └ [id_]/ <- │ │ │ ├ _1.jpg/ │ │ │ └ _2.png/ │ │ └ templates/ <- │ │ └ addons/ │ │ └ [id_]/ │ │ ├ hooks/ <- │ │ │ ├ index/ <- │ │ │ │ ├ scripts.post.tpl <- │ │ │ │ └ styles.post.tpl <- │ │ │ └ [_]/ │ │ │ ├ [_].pre.tpl <- │ │ │ ├ [_].post.tpl <- │ │ │ └ [_].override.tpl <- │ │ ├ views/ <- │ │ │ └ [_]/ <- │ │ │ └ [_].tpl <- (mode) │ │ └ overrides/ <- │ │ └ ... <- │ │ │ └ themes/ <- — │ └ [_]/ <- │ ├ css/ <- │ │ └ addons/ │ │ └ [id_]/ │ │ ├ styles.css <- CSS │ │ └ styles.less <- LESS │ ├ mail/ <- │ │ └ templates/ │ │ └ addons/ │ │ └ [id_]/ │ │ ├ hooks/ <- │ │ │ └ [_]/ │ │ │ ├ [_].pre.tpl │ │ │ ├ [_].post.tpl │ │ │ └ [_].override.tpl │ │ ├ [_]_subj.tpl/ <- │ │ └ [_].tpl/ <- │ ├ media/ <- │ │ └ images/ │ │ └ addons/ <- │ │ └ [id_]/ │ │ ├ _1.jpg/ │ │ └ _2.png/ │ └ templates/ <- │ └ addons/ │ └ [id_]/ <- │ ├ hooks/ <- │ │ ├ index/ <- │ │ │ ├ scripts.post.tpl <- │ │ │ └ styles.post.tpl <- │ │ └ [_]/ <- │ │ ├ [_].pre.tpl <- │ │ ├ [_].post.tpl <- │ │ └ [_].override.tpl <- │ ├ views/ <- │ │ └ [_]/ <- │ │ └ [_].tpl <- │ └ overrides/ <- │ └ ... <- │ ├ js/ <- │ └ addons/ │ └ [id_]/ │ └ func.js/ └ var/ <- └ themes_repository/ <- └ [_]/ └ ...
, , , , , , . : , AJAX , CMS JS , . , , 3-4 -, , , .
, , , .
- ,
, , . , , , , : " ?!" - Google LightHouse, , 20 10 , . . , CMS - , , PHP, , , . ? - : CMS 2003-2004 , MyISAM.
MyISAM - , 50 000 (!) ( ). , , InnoDB. - 500 - 1000 .
. 50 000 ? " " - . , SEO . . : . , , . , , . , "" -.
- , , , .
? 100
, - "". cron - . , , - . , - . , , 100$ . , , , , , CMS . CMS, , , , , , , .
ConclusiĂłn
No creo que la situación con este CMS vaya a cambiar nunca y realmente lo siento por aquellos que, teniendo una enorme base de nomenclatura, se sientan y pagan un dinero fabuloso por todos los toques finales. Pero quiero creer que, al menos en mi tienda, podré superar algunas de sus deficiencias.
Espero que el artĂculo te haya resultado interesante. EscribirĂ© más sobre mi investigaciĂłn en este CMS o sobre el desarrollo de mĂłdulos para Ă©l.