यदि अभिभावक फ़ीड (आयात) नोड अप्रकाशित है, तो मैं इसे आयात अनुसूची में कैसे शामिल नहीं करूं?


11

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

यह भी देखें कि यदि पैरेंट फीड अप्रकाशित है तो आइटम आयात न करें


क्या आपको यह पता चला है? मैंने इसे डिफ़ॉल्ट (RSS) फ़ीड आयातक के साथ आज़माया और यह अपेक्षा के अनुरूप काम करने लगा - जब फ़ीड नोड अप्रकाशित नहीं हुआ तो यह आयात नहीं हुआ।
Jan Tomka

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

1
लिंक किए गए लेख में बेहतर जानकारी है, यहां तक ​​कि नमूना कोड भी। कृपया इस प्रश्न को यहाँ जोड़ने पर विचार करें।
बर्क

जवाबों:


1

ऐसा लगता है, जब एक नोड सहेजा जाता है, तो फ़ीड मॉड्यूल उस नोड से फ़ीड आयात करना शुरू कर देता है।

function feeds_node_insert($node) {
  // Source attached to node.
  feeds_node_update($node);
  if (isset($node->feeds) && $importer_id = feeds_get_importer_id($node->type)) {
    $source = feeds_source($importer_id, $node->nid);
    // Start import if requested.
    if (feeds_importer($importer_id)->config['import_on_create'] && !isset($node->feeds['suppress_import'])) {
      $source->startImport();
    }
    // Schedule source and importer.
    $source->schedule();
    feeds_importer($importer_id)->schedule();
  }
}

आयातक के सेटिंग पृष्ठ में एक विकल्प होता है जिसे आयात पर प्रस्तुत किया जाता है । यदि आप इस बॉक्स को अनचेक करते हैं, तो उम्मीद है कि आपका फ़ीड आयात नहीं किया जाएगा। फ़ीड अनुचर को अभी भी feed_cron () में परिवर्तन करने की आवश्यकता है ताकि यह अप्रकाशित नोड्स को न लाए।

जब आप मॉड्यूल रख-रखाव से बेहतर समाधान की प्रतीक्षा करते हैं, तो आप इस कोड को जल्दी से बदल सकते हैं यदि कथन में $ नोड जोड़ने के लिए-> स्थिति == 1 स्थिति निम्नानुसार है:

if ($node->status==1 && isset($node->feeds) && $importer_id = feeds_get_importer_id($node->type))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.