CS Cart ou espinhos para um buraco negro de muletas e otimizaΓ§Γ΅es

Mais recentemente, tornei-me um desenvolvedor complementar do CS Cart. Aconteceu por acaso: fui contratado para trabalhar na rede de lojas online de SΓ£o Petersburgo que vendia vapes e todo tipo de coisas interessantes para atender Γ s necessidades fΓ­sicas de casais e solteiros sofredores (que nΓ£o entendiam - ainda nΓ£o amadureceram). Ambas as lojas online estΓ£o implantadas em duas vitrines com domΓ­nios diferentes, mas um painel de administraΓ§Γ£o e um banco de dados comum. O que hΓ‘ de errado com ela? Acho que muito jΓ‘ foi escrito sobre o CMS, mas vou acrescentar minha mosca na sopa.





Viagem ao mΓ³dulo atravΓ©s da floresta de diretΓ³rios

No processo de desenvolvimento do primeiro mΓ³dulo para esta plataforma, enfrentei muitos problemas, que, como pensei, ter experiΓͺncia com OOP, bem como com CMS MODX Revo, nΓ£o deveriam existir. A primeira coisa que chamou minha atenΓ§Γ£o foi a estrutura muito complexa e confusa do 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, , , , , , , .





ConclusΓ£o

NΓ£o acredito que a situaΓ§Γ£o com este CMS vΓ‘ mudar algum dia e realmente sinto muito por aqueles que, tendo uma base enorme de nomenclatura, sentam-se nele e pagam um dinheiro fabuloso por todos os retoques finais. Mas quero acreditar que, pelo menos na minha loja, poderei superar algumas de suas deficiΓͺncias.





Espero que o artigo seja interessante para vocΓͺ. Vou escrever mais sobre minha pesquisa neste CMS ou sobre o desenvolvimento de mΓ³dulos para ele.








All Articles