2011-11-27 6 views
6

में रूट के आधार पर पृष्ठों पर सीएसएस स्टाइलशीट जोड़ना मैं क्लाइंट स्टोर के लिए ओपनकार्ट (संस्करण 1.5.1.3.1) का उपयोग कर रहा हूं, और सोच रहा हूं कि इसे कोड करने का सबसे अच्छा तरीका क्या है, इसलिए कुछ निश्चित स्टाइलशीट निश्चित हो सकते हैं मार्गों।ओपनकार्ट

उदाहरण के लिए, मेरे श्रेणी पृष्ठ पर मैं डिफ़ॉल्ट रूप से एक अलग स्टाइलशीट रखना चाहता हूं, या एक जो मेरी कस्टम शीट के साथ डिफ़ॉल्ट शैलियों की सवारी करेगा। मैंने इसके लिए एक से अधिक मार्गों के लिए स्पष्ट रूप से उपयोग किया है, और जितना संभव हो सके उतने छोटे संपादन के साथ ऐसा करना चाहते हैं, ताकि ढांचे में संपादन की मात्रा को कम करने के लिए मुझे किसी भी चरण में अपग्रेड करना होगा (और ओपनकार्ट के जाने-माने के साथ यादृच्छिक परिवर्तन और बग फ़िक्स विज्ञप्ति यह काफी संभव है)

उत्तर

11

ओपन catalog/controller/common/header.php

ठीक बाद एक नई लाइन पर लाइन protected function index() { डाल

$route = empty($this->request->get['route']) ? 'common/home' : $this->request->get['route']; 
    $css_file = str_replace('/', '_', $route) . '.css'; 

    if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/stylesheet/' . $css_file)) { 
     $this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template'). '/stylesheet/' . $css_file); 
    } 

फिर अपने वर्तमान विषय पर जाएँ, और में एक फ़ाइल बनाने के catalog/view/your-theme/stylesheet/ फ़ोल्डर product_category.css कहा जाता है और अपनी शैलियों को टी में डाल दिया जाता है टोपी। स्टाइलशीट आप को छोड़कर अपने मार्ग नाम बंद काम एक अंडरस्कोर .css द्वारा पीछा करने के लिए फॉरवर्ड स्लैश की जगह, यानी common/home हो जाता है common_home.css

नोट है कि ओवरराइड विधि का उपयोग करने के बजाय जगह

+0

यह सुनिश्चित होगा जा रहा है अपने डिफ़ॉल्ट स्टाइलशीट कोर कोड में जोड़ने के लिए एक अच्छी बात हो। –

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