में काम नहीं कर रहा है मैंने केकेपीएचपी में थीम संपत्तियों को जोड़ने के संबंध में कई सवाल देखे हैं और उनमें से कोई भी मेरी समस्या का समाधान नहीं कर रहा है और हाल ही में पोस्ट 2012 में भी था इसलिए मैंने सोचा कि मैं अपना प्रश्न फ्लोट करूंगा वहाँ से बाहर।थीम एसेट केकपीएचपी 2.2.4
मैंने अपने केकेपीएचपी 2.2.4 एप्लिकेशन में थीम लागू की हैं। मेरी थीम "डिफ़ॉल्ट" (जिसे पहले 1 मिनट पहले तक "डिफ़ॉल्ट" कहा जाता है) app/View/Themed/default
पर स्थित है (पहले थीम नाम के फ़ोल्डर नाम के लिए संबंधित पूंजी डी था)।
मेरे सीएसएस फ़ाइल app/View/Themed/default/webroot/css/style.css
जो मैं निम्नलिखित कोड
Default.ctp लेआउट के साथ app/View/Themed/default/Layouts/default.ctp
में फोन पर स्थित है
echo $this->Html->css('style');
(मैं "सिर्फ मामले में webroot के लिए राजधानी डब्ल्यू का उपयोग कर की कोशिश की है "लेकिन कोई आश्चर्य नहीं कि काम नहीं किया)
मैंने इस लिंक को अपने ऐपकंट्रोलर में शामिल किया है ताकि मैं यह निर्धारित कर सकूं कि मैं किस विषय का उपयोग कर रहा हूं। सभी दृश्य फ़ाइलें सही थीम पर इंगित करती हैं लेकिन अभी समस्या स्टाइलशीट के साथ है (मुझे अभी तक अन्य संपत्तियों जैसे कि जेएस या छवि फ़ाइलों के साथ गड़बड़ है)।
AppController
class AppController extends Controller {
public $theme = 'default'; // previously 'Default'
// also, have used both 'public $theme' and 'var $theme', no difference
मैं निम्न सवालों पढ़ लिया है और "समाधान" में से कोई भी काम किया है। अधिकांश समाधान वर्तनी/पूंजीकरण की जांच करना चाहते थे, फ़ोल्डर्स पर अनुमतियां जांचें, मेरी .htaccess फ़ाइल आदि देखें। अभी भी कुछ नहीं। और नए विचार?
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
विषय webroot और सीएसएस फ़ोल्डर के लिए फ़ोल्डर अनुमति 755
यहाँ कर रहे हैं कुछ संसाधनों मैं कोई भाग्य के साथ किया जाता है।
http://book.cakephp.org/2.0/en/views/themes.html
CakePHP theme resources return error
Unable to get css and image files in Themes webroot folder of cakephp
https://groups.google.com/forum/#!topic/cake-php/xaRAugMoNSc
https://groups.google.com/forum/#!topic/cake-php/siYVWchUb1g
अद्यतन:$this->Html->image('image.jpg')
का उपयोग View/Themed/Default/webroot/img/image.jpg
पर स्थित परिभाषित छवि को सही ढंग से प्रदर्शित करता है। हालांकि, $this->Html->css('style')
का उपयोग करके स्टाइलशीट को app/webroot/css/style.css
से खींचने की कोशिश की जाती है और app/View/Themed/Default/webroot/css/style.css
से नहीं। छवि को सही तरीके से लिंक करने के लिए मुझे अपरकेस डी के साथ "थीम" पर वापस थीम के नाम और फ़ोल्डर का नाम भी बदलना पड़ा। स्टाइलशीट अभी भी सही ढंग से लिंक नहीं है। यदि मैं अपने ब्राउज़र में सीधे अपनी थीम स्टाइलशीट पर नेविगेट करता हूं, तो एक खाली पृष्ठ दिखाई देता है। यदि मैं एक स्टाइल शीट पर नेविगेट करता हूं जो मेरे थीम फ़ोल्डर में मौजूद नहीं है तो मुझे उचित त्रुटि संदेश मिलता है। हालांकि, मेरे थीम स्टाइलशीट (जो मौजूद है) का स्रोत देख रहा है, एक खाली पृष्ठ दिखाता है।
वहाँ कोई अंतर नहीं है कि क्या मैं "डिफ़ॉल्ट" का उपयोग करें या थीम नाम के रूप में "डिफ़ॉल्ट"। ** अद्यतन: ** '$ this-> एचटीएमएल-> छवि ('image.jpg') का उपयोग करके' सही/थीम्ड/डिफ़ॉल्ट/वेबूट/img/image.jpg' पर स्थित परिभाषित छवि को सही ढंग से प्रदर्शित करता है। हालांकि, '$ this-> एचटीएमएल-> सीएसएस ('स्टाइल') का उपयोग करके 'ऐप/वेबूट/सीएसएस/style.css' से स्टाइलशीट खींचने की कोशिश की जाती है, न कि' ऐप/व्यू/थीम्ड/डिफॉल्ट/वेबूट/सीएसएस 'से/style.css' – bowlerae
यही वह है! केकेपीएचपी को कैमेलकेस के साथ फ़ोल्डर का नाम दिया जाना चाहिए, भले ही नियंत्रक में निचले रंग के साथ निर्दिष्ट थीम नाम। –
सटीक रूप से सर्ज कहता है, यदि आपके पास लोअरकेस में आपकी थीम निर्देशिका है, तो बस इसे कैपिटल करें और यह – xorinzor