2012-01-20 10 views
7

मेरे पास एक गतिशील पृष्ठ है जो विभिन्न विचारों को लोड करता है। मैं टिप्पणियों के लिए Disqus का उपयोग कर रहा हूँ, लेकिन Disqus प्रत्येक विचार के लिए एक ही टिप्पणी लोड रहता रहता है।Disqus गतिशील पृष्ठों के लिए समान टिप्पणियां लोड करना

यहां वेबसाइट है। http://tech-in.org/submitted_ideas/index.php

यहाँ मेरी कोड

<script type="text/javascript"> 
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ 
    if(typeof DISQUS != 'undefined') { 
     DISQUS.reset({ 
     reload: true, 
     config: function() { 
      this.page.identifier = '<?php echo $title; ?>'; 
      this.page.url = 'http://tech-in.org/submitted_ideas/idea.php?id=<?php echo $idea_id; ?>'; 
     } 
     }); 
    } 
    var disqus_shortname = 'techinorg'; // required: replace example with your forum shortname 
    var disqus_identifier = '<?php echo $title; ?>'; 
    var disqus_url = 'http://tech-in.org/submitted_ideas/idea.php?id=<?php echo $idea_id; ?>'; 
    var disqus_title = document.getElementById('disqus_post_title').innerHTML; 
    var disqus_message = document.getElementById('disqus_post_message').innerHTML; 


    /* * * DON'T EDIT BELOW THIS LINE * * */ 
    (function() { 
     var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 
     dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; 
     (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 
    })(); 
</script> 

कृपया क्या त्रुटि पैदा साथ मदद और क्या मैं इसे

उत्तर

5

Disqus जो disqus_identifier आपके द्वारा निर्दिष्ट के आधार पर लोड करने के लिए टिप्पणी का फैसला करता है को हल करने कर सकते हैं। जब एक अलग "विचार" लोड होता है, तो सुनिश्चित करें कि आप एक अद्वितीय disqus_identifier प्रदान करते हैं जो उस विचार से मेल खाता है। (। यह स्पष्ट क्या $title अपने PHP स्क्रिप्ट है, जो वर्तमान में क्या disqus_identifier करने के लिए आवंटित किया जा रहा है में प्रतिनिधित्व नहीं है)

+0

रूप में अच्छी तरह, सही पहचानकर्ता के लिए URL का उपयोग कर सकते? –

+0

हैलो चेकेन, $ शीर्षक प्रत्येक विचार के लिए शीर्षक है। जब आप प्रत्येक विचार पृष्ठ के स्रोत को देखते हैं तो आप देखेंगे कि disqus_identifier भिन्न है। इसका मतलब है कि शीर्षक सही ढंग से प्रस्तुत किया जाता है। – Stanley

+1

धन्यवाद मैडमर्टिगन, disqus_url को disqus_identifier के साथ समान बनाने के लिए समस्या को हल कर दिया है। – Stanley

5

की तरह अपने पहचानकर्ता पर्याप्त अद्वितीय नहीं है लग रहा है, संदर्भ दस्तावेज़ यहाँ देखें: http://docs.disqus.com/help/14/

इसमें कहा गया है:

जब डिस्कस-सक्षम पृष्ठों का दौरा किया जाता है, Disqus इस पहचानकर्ता को पर लोड करने के लिए उपयुक्त टिप्पणी थ्रेड निर्धारित करता है। यदि उपयुक्त धागा नहीं मिला, तो एक नया धागा बनाया गया है। Disqus Identifiers संबंधित थ्रेड और पेज रखें।

+1

धन्यवाद Jakub, मैंने पहचानकर्ता के रूप में यूआरएल का उपयोग करके समस्या हल की। लेकिन मेरा संदेह यह है कि प्रत्येक विचार का अपना शीर्षक होता है। Disqus के उपयोग के लिए पर्याप्त अद्वितीय नहीं है? – Stanley

+0

@ स्टैनले, ऐसा लगता है कि यह काफी अद्वितीय नहीं है, कभी-कभी बेहतर होता है, इसके अलावा कौन सा परवाह करता है यह एक अद्वितीय पहचानकर्ता है, आप इसका एक हैश बना सकते हैं, और यह अभी भी काम करेगा। – Jakub

1

मैं इस पृष्ठ पर एक ही समस्या में आया जो AJAX का उपयोग नए डिस्कस थ्रेड के साथ नई सामग्री को लोड करने के लिए करता है। मेरे लिए समाधान पहचानकर्ता और यूआरएल दोनों को एक ही चीज़ के बराबर सेट कर रहा था।

DISQUS.reset({ 
    reload: true, 
    config: function() { 
     this.page.identifier = 'http://example.com/#!' + myPageID; 
     this.page.url = 'http://example.com/#!' + myPageID; 
    }}); 

जहां myPageID एक पूर्णांक है कि मैं गतिशील AJAX

+1

क्या यह अजीब बात नहीं है कि मेरे द्वारा मिले सभी समाधान काम नहीं करते हैं, लेकिन आपका, यह निश्चित रूप से एक Disqus मुद्दा है, लेकिन आपकी टिप्पणी ने मुझे बचाया, धन्यवाद। – Ogdila

0

का उपयोग कर के रूप में निम्नानुसार मैं अंत में यह काम कर रहे हो गया अद्यतन है।

अजाक्स [1] साइटों के लिए Disqus doco, राज्यों requirements का उपयोग कर दोनों चर this.page.identifier और this.page.URL सेट करने के लिए कर रहे हैं एक full hashbang #!

var disqus_config = function() { 
    this.page.identifier = window.location.origin + '/#!' + identifier 
    this.page.url = window.location.origin + '/#!' + identifier 
} 

Confusingly, उदाहरण recipe [2] जैसा कि ऊपर उल्लेख doco में जुड़ा हुआ है, ऐसा नहीं करता

संदर्भ:

[1] https://help.disqus.com/customer/portal/articles/472107-using-disqus-on-ajax-sites

[2] https://github.com/disqus/DISQUS-API-Recipes/blob/master/snippets/js/disqus-reset/disqus_reset.html

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