2012-10-16 10 views
5

डेवलपर्स के लिए मूल फ़ाइलों को छूए बिना ओपनकार्ट में नियंत्रक और मॉडल विधियों को संशोधित करने का कोई तरीका है? जिस तरह से WP के पास functions.php फ़ाइल है, जहां आप अपने कोड को ओवरराइट करने वाले भविष्य के उन्नयन के बारे में चिंता किए बिना WP के गले को संशोधित कर सकते हैं।कोर को छूए बिना ओपनकार्ट में नियंत्रक संशोधित करें?

यहाँ कुछ उदाहरण जो मैं हर डेवलपर उनके Opencart टूलकिट में की जरूरत है लगता है कर रहे हैं:

  • मूल्यों
  • भागो कस्टम एसक्यूएल अपडेट करने की क्षमता प्रश्नों कार्यक्रम परत की
  • अद्यतन तर्क
  • सिस्टम को आगे बढ़ाएं
+0

क्या आप कक्षा और पुन: पूरक को ओवरराइड नहीं कर सकते जिस तरीके से आप चाहते हैं? – AlexP

उत्तर

1

vQmod पर एक नज़र डालें। यह प्राथमिक तरीका है जिसका उपयोग ज्यादातर डेवलपर्स द्वारा किया जाता है ताकि कोर कोड

+1

vQmod बहुत अच्छा है, लेकिन इसमें यह _hacky_ महसूस होता है, मुझे काफी स्वीकृति नहीं है। खासकर जब यह एक्सएमएल का उपयोग करता है जब एक्सएमएल डेटा ट्रांसफर के लिए डिज़ाइन किया गया था और कोड स्टोरेज नहीं था। – enchance

+0

एक उचित टिप्पणी, लेकिन यह पूरी तरह से ओसी समुदाय द्वारा अपनाया गया है और वर्तमान में कम से कम घुसपैठ विधि है –

0

संशोधित न करने के लिए मैं न्यूनतम रूप से कोर को संशोधित करने का सुझाव दूंगा ताकि इसे आसानी से बढ़ाया जा सके। और कौन बहुत देर हो चुकी पहले से ही है, एक उदाहरण के नीचे किसी को भी 2.0.2.0 से एक संशोधित कोर के उन्नयन के लिए महारत हासिल करने के लिए: (! अन्यथा मैं opencart forking और rebase उपयोग करने का सुझाव था)

git clone https://github.com/opencart/opencart 
cd opencart 
git checkout 2.0.2.0 #insert tag with your current version. Mine was 2.0.2.0 
cd upload 

#Note: sed strips paths for 'upload/' (opencart) 
git diff 2.0.2.0 master > ~/patch-to-newest-version.diff | sed "s/+++ b\/upload\//+++ b\//" | sed "s/--- a\/upload\//--- a\//" 
#  I chose ^master^ but you'd better use a stable version. 

cd to-your-modified-(opencart)core 
patch -p1 < ~/patch-to-newest-version.diff 

#..time to resolve the conflicts.. hopefully not much. Good luck. 

(किसी को भी एक जानता है संशोधित कोर को पैच करने का बेहतर तरीका, कृपया टिप्पणी करें। विशेष रूप से क्योंकि '/ अपलोड' फ़ोल्डर में काम करना अच्छा नहीं है ... एक स्पैस चेकआउट या एस/टी का उपयोग करें?

संबंधित मुद्दे