2011-10-04 28 views
5

मैं एक अच्छी प्रिंटर-अनुकूल प्रारूप में अपनी साइट के विशिष्ट पृष्ठों को मुद्रित करने के लिए कुछ समर्थन जोड़ रहा हूं। तो मैंने पहली चीज एक कम या कम रिक्त लेआउट बनाया था जिसे मैं सामग्री छोड़ सकता हूं। फिर मैं एक सामग्री पृष्ठ पर गया और प्रेजेंटेशन विवरण में "प्रिंट" डिवाइस पर यह लेआउट असाइन किया।प्रिंट लेआउट का उपयोग करने के लिए मैं साइटकोर (और मेरा ब्राउज़र) कैसे प्राप्त करूं?

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

कुछ स्पष्ट याद आना चाहिए?

उत्तर

5

डिफ़ॉल्ट रूप से प्रिंट डिवाइस का उपयोग तब किया जाएगा जब उस पृष्ठ पर ?p=1 क्वेरीस्ट्रिंग मान है जिसे आप मुद्रित करना चाहते हैं। ब्राउज़र में प्रिंट पूर्वावलोकन बस डिफ़ॉल्ट डिवाइस के साथ पृष्ठ का पूर्वावलोकन कर रहा है।

उस क्वेरीस्ट्रिंग को पते में डालने का प्रयास करें और देखें कि क्या आपको वह लेआउट मिलता है जिसे आप उम्मीद कर रहे हैं।

जैसा कि आपने देखा है, ब्राउज़र एजेंट के माध्यम से डिवाइस को स्विच करने की क्षमता है, लेकिन यह यहां उपयोगी नहीं होगा। इसका मुख्य रूप से मोबाइल डिवाइस का पता लगाने के लिए उपयोग किया जाएगा।

+0

आह ... हां, कुछ कमी बहुत आसान। धन्यवाद शॉन। – Bryan

+0

मूल रूप से आप जान सकते हैं कि यह उपकरणों पर एक निश्चित लेआउट, में पाया जा सकता है का उपयोग करता है: /sitecore/सामग्री/लेआउट/उपकरणों/ Det डिफ़ॉल्ट printlayout कहा जाता है प्रिंट और एक क्वेरी स्ट्रिंग है कि "है? पी = 1 "जैसा कि शॉन लिखता है, लेकिन आप इसे बदल सकते हैं। – Holger

0

लंगर क्लिक पर गतिशील रूप से प्रिंट डिवाइस का उपयोग करने के लिए निम्न है

default.aspx

<asp:HyperLink ID="hlPrintLink" runat="server"> 
</asp:hyperlink> 

//default.aspx.cs

HospitalDirectionsPageItem objHospital = Sitecore.Context.Item; 
     string deviceName = "print"; 
      DeviceItem deviceItem = Sitecore.Context.Database.Resources.Devices.GetAll().Where(d => d.Name.ToLower() == deviceName.ToLower()).First(); 

      if (deviceItem != null) 
      { 
       hlPrintLink.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(objHospital) + "?" + deviceItem.QueryString; 

      }