app / code / core
- Przechowuje moduły dystrybuowane wraz z podstawowym Magento i tworzą podstawową funkcjonalność.
app / code / community
- Przechowuje moduły opracowane przez strony trzecie
app / code / local
- Przechowuje niestandardowe moduły, które opracowałeś, w tym przesłonięcia kodu Maga.
Dlaczego Magento korzysta z dwóch pul kodów w celu dostosowania?
Magento faktycznie używa trzech pul kodów. Załaduje najpierw lokalny , społeczność drugi, a rdzeń trzeci. Używa trzech do celów organizacyjnych i pomaga rozwiązać problemy, gdy dwa + zewnętrzne rozszerzenia próbują przepisać to samo. W przykładzie, w którym masz dwa rozszerzenia w app / code / community próbujące przepisać ten sam model, możesz po prostu zrobić rozszerzenie w app / code / local i połączyć logikę dwóch rozszerzeń razem.
Dlaczego Magento nie używa pojedynczej puli kodów do dostosowywania?
Zrobiono to w ten sposób, aby spróbować uporządkować kod. Ponadto, gdy masz konflikty z osobami trzecimi, lokalny jest świetny, aby pomóc rozwiązać te problemy. Lokalne jest również świetne, aby mieć rozszerzenia, które tylko ta witryna kiedykolwiek będzie miała.
local
pula kodów, aby wyeliminować wszystkie zawieszenia.core :
Ta pula kodów należy do zespołu programistów Core Magento. Dlatego NIE powinieneś dokonywać żadnych modyfikacji w tej puli kodów.community :
Należy do programistów społeczności Magento (w tym programistów, którzy opracowują rozszerzenia stron trzecich). Jeśli tworzysz rozszerzenia stron trzecich, możesz do tego użyć tej puli kodów.local :
Można tego użyć, jeśli chcesz wprowadzić jakiekolwiek modyfikacje (dodać nową funkcjonalność / zastąpienie rozszerzenia / modyfikacje podstawowych funkcji itp.) Specjalnie dla swojego sklepu Magento i nie chcesz udostępniać go społeczności. Jednocześnie możesz zastąpić funkcjonalność puli kodów podstawowych i wspólnotowychźródło
Opisz Codepools Magento
Pula rdzeni
Przede wszystkim ten folder przechowuje cały kod, dzięki któremu Magento jest tak potężny, elastyczny i piękny. Główną zasadą rozwoju Magento jest to, że nigdy nie powinieneś dokonywać w nim żadnych zmian. Innymi słowy, ten folder należy tylko do głównych deweloperów Magento i jeśli zamierzasz edytować coś w tej puli, ich zły duch może cię ukarać nawet przez wyświetlanie.
Pula wspólnoty
Ten folder należy całkowicie do programistów społeczności. To właściwe miejsce dla setek rozszerzeń innych firm, zarówno darmowych, jak i płatnych, które można znaleźć na MagentoConnect lub dostępnych w sklepie z programami rozszerzeń. Zasadniczo, jeśli masz zainstalowane jakieś rozszerzenie, musi ono znajdować się tylko w app / code / community /.
Lokalny basen
Jeśli masz własny sklep oparty na Magento i chcesz zrobić wszystko sam lub jesteś deweloperem Magento i chcesz zmienić logikę, lokalna pula jest miejscem, w którym wszystko powinno być zrobione. Jeśli chcesz zastąpić rozszerzenia, bloki lub metody Magento, skopiuj niezbędne foldery z puli Core i rób wszystko, co chcesz. Zastosuj tę samą regułę do niestandardowych rozszerzeń tworzonych specjalnie dla witryny - cały kod powinien znajdować się w puli lokalnej.
źródło
Dodanie wszystkich powyższych w prosty sposób do robienia priorytetów i posiadania modułowości. Możesz to samo sprawdzić w Mage.php.
Ładowanie pul kodów za pomocą
SO najpierw lokalny zwany wtedy społecznością, a następnie core i magento nie znajdzie żadnych plików podstawowych, a następnie przeszuka folder lib zawierający pliki Core Zend-Framework
źródło
Najlepszym wyjaśnieniem, jakie mam, jest to, że jeśli zamierzasz rozpowszechniać swoje rozszerzenia wśród szerszej publiczności, na przykład za pośrednictwem Magento Connect, możesz umieścić je w społeczności.
Umożliwiłoby to innemu deweloperowi zastąpienie zachowania przez umieszczenie klasy w folderze lokalnym.
źródło