2011-06-22 23 views
6

में फेविकॉन का उपयोग करना ज़ेंड फ्रेमवर्क में favicon.ico को संभालने का सबसे अच्छा तरीका क्या है? मैंने विकल्पों को देखा है जिन्हेंज़ेंड फ्रेमवर्क

$this->headLink()->headLink(array('rel' => 'favicon', 
           'href' => '/img/favicon.ico'), 
           'PREPEND') 

या .htaccess फ़ाइल में संशोधन की आवश्यकता है।

धन्यवाद,

+0

"सबसे अच्छा तरीका है" परिभाषित करें। निश्चित रूप से आप इसे करने के कई अलग-अलग तरीके हैं, लेकिन इस पर निर्भर करते हुए कि आप इसे कैसे काम करना चाहते हैं (सभी पृष्ठों के लिए समान?) और आपकी साइट वर्तमान में कैसे सेट की जाती है, "सर्वोत्तम तरीका" बहुत भिन्न हो सकता है। – Niklas

+0

@ निकलास: आप सही हैं कई अलग-अलग तरीके हैं। असल में यही कारण है कि मैं परेशान हूँ। मैं एक favicon.ico का उपयोग करने की कोशिश कर रहा हूं जो सभी पृष्ठों के लिए समान होना चाहिए। मैं अपने लेआउट/phtml फ़ाइलों को संशोधित पहले विकल्प के अनुसार संशोधित करता हूं लेकिन आइकन बदलता नहीं है (यह अभी भी डिफ़ॉल्ट ज़ेंड-फ्रेमवर्क आइकन है)। यह निश्चित रूप से है कि मैं कुछ गलत कर रहा हूँ। – polerto

+0

क्या आपने यह $ echo भी किया-> हेडलिंक() '? क्योंकि इसे असाइन करने से यह कुछ भी प्रदर्शित नहीं होगा जब तक कि आप कहीं भी अपने दृश्य/लेआउट में 'हेडलिंक' – Niklas

उत्तर

5

तीन विकल्प:

  • कुछ न करें - यदि फ़ेविकॉन favicon.ico नामित करने और अपने सार्वजनिक निर्देशिका में बैठा है, अधिकांश ब्राउज़र इसे
  • हार्ड-कोड <link> टैग में ले जाएगा अपनी लेआउट
  • प्रोग्राम अपने कोड उदाहरण के रूप में लिंक टैग को जोड़ने के

व्यक्तिगत तौर पर मैं विकल्प 2 के लिए जाना होगा थोड़ा बिंदु प्रोग्राम के रूप में फ़ेविकॉन जोड़ने नहीं है अगर यह हमेशा वहाँ रहेगा। यह समझ में आ सकता है कि फेविकॉन अलग-अलग उपयोगकर्ताओं के लिए अलग था, उदा। कहें कि आपके एप्लिकेशन में विभिन्न विषयों के लिए विभिन्न फेविकॉन के साथ थीम सिस्टम था, तो आप हेडलिंक() का उपयोग करना चाहेंगे।

ब्राउज़र लंबे समय तक फेविकॉन कैश करते हैं, इसलिए जब तक लिंक टैग आपके HTML स्रोत में दिखाई दे रहा है तो यह अंततः अपडेट हो जाएगा। आप फ़ाइल नाम बदलकर प्रक्रिया को तेज कर सकते हैं, सीधे अपने ब्राउज़र में फेविकॉन देख सकते हैं और/या अपने ब्राउज़र कैश को साफ़ कर सकते हैं।

+0

विकल्प 2 का उपयोग करके मैं फेविकॉन दिखाने में सक्षम था केवल mysite/public पर। अन्य लिंक अभी भी अच्छे पुराने ज़ेंड फेविकॉन दिखाते हैं। मुझे वास्तव में समझ में नहीं आता कि क्यों और कहाँ defau लेफ्टिनेंट आइकन से आता है। आपके समय और विस्तृत स्पष्टीकरण के लिए धन्यवाद। – polerto

3

तुम सिर्फ में फ़ोल्डर सार्वजनिक favicon.ico फ़ाइल ले! ;)

+0

धन्यवाद लेकिन दुर्भाग्य से काम नहीं करता है .. मुझे अभी भी डिफ़ॉल्ट ज़ेंड फेविकॉन (हल्का नीला पृष्ठभूमि वाला नीला ज़ेड) मिलता है। मैंने इसे पहले से ही इसका परीक्षण करने के लिए कॉपी किया है। फ़ायरफ़ॉक्स और न ही क्रोम या आईई फेविकॉन दिखाने में सक्षम था। मैंने इसे एक नए बनाए गए ज़ेंड प्रोजेक्ट का उपयोग करके परीक्षण किया लेकिन यह उपयोगी नहीं था। – polerto

+0

शायद कैश समस्या हो! क्या आपने इसे खाली करने और अपने पीसी को पुनरारंभ करने का प्रयास किया है? – JellyBelly

1

मैंने पाया कि अगर rel विशेषता जा रहा है "फ़ेविकॉन" उम्मीद चीजें काम नहीं कर रहा है, जब तक मैं विशेषता ऊपर परिवर्तन किया है करने के लिए "शॉर्टकट आइकन" (फ़ायरफ़ॉक्स 5.0 Ubuntu के तहत परीक्षण किया)

+1

धन्यवाद! यह मेरी समस्या हल हो गई। (विंडोज 7 फ़ायरफ़ॉक्स और क्रोम) – Yens

+0

यह मेरे लिए भी काम करता है! –

0

ZF2 कंकाल आवेदन भी शामिल है एक /public/img/favicon.ico पर डिफ़ॉल्ट favicon.ico। बस उस फाइल को बदलें और आप जाने के लिए अच्छे हैं।

ब्राउज़र कैश को उस फ़ाइल पथ को स्पष्ट रूप से इंगित करके फ़ाइल को रीफ्रेश करने के लिए मजबूर करने में भी मदद कर सकता है।

1
//in controller 
$this->view->headLink(array('rel' => 'shortcut icon', 'href' => '/themes/kieuhung/images/favico.png', 'type' => 'image/x-icon'), 'PREPEND'); 

//and in layout 
echo $this->headLink(); 

सौभाग्य

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