หากโหนดแม่แบบดึงข้อมูล (นำเข้า) ถูกยกเลิกการเผยแพร่ฉันจะไม่รวมไว้ในตารางการนำเข้าได้อย่างไร


11

หากฟีดพาเรนต์นำเข้าโหนด (ฟอร์ม / โหนดเพื่อป้อน URL ฟีดไม่ใช่ผู้นำเข้าฟีด) ที่ไม่ได้เผยแพร่ฉันต้องการให้มัน (URL ฟีด) ไม่รวมอยู่ในตารางเวลา cron เพื่ออัปเดต / นำเข้า รายการฟีด สิ่งนี้ทำได้อย่างไร ตัวอย่างเช่นผู้ใช้ส่งฟีด แต่ผู้ดูแลระบบจำเป็นต้องตรวจสอบก่อนที่จะเผยแพร่และนำเข้า

ดูเพิ่มเติมอย่านำเข้ารายการหากไม่ได้เผยแพร่ฟีดพาเรนต์


คุณเคยมีโชคในการหาอันนี้หรือไม่? ฉันลองสิ่งนี้ด้วยค่าเริ่มต้นตัวดึงข้อมูลฟีด (RSS) และดูเหมือนว่าจะทำงานได้ตามที่คาดไว้ - มันไม่ได้นำเข้าเมื่อโหนดฟีดไม่ถูกเผยแพร่
Jan Tomka

อืมมันแปลกนะ หนึ่งในผู้นำเข้าฟีดของฉันได้รับการกำหนดค่าให้ใช้ Common Syndicate Parser และอีกหนึ่งใช้ QueryPath Parser ฉันยืนยันว่าโหนดฟีด (หลัก) ไม่ถูกเผยแพร่ คุณเห็นข้อความว่าการนำเข้าฟีดข้อมูลในแคชล้าง - เป็นคี่หรือปกติหรือไม่ ไม่ควรทำอย่างนั้นโดยไม่คำนึงถึงสถานะใช่ไหม ฉันอยู่ในพื้นที่ดังนั้น cron ยังไม่ได้ตั้งค่า
hellomobe

1
บทความที่เชื่อมโยงมีข้อมูลที่ดีกว่ามากแม้แต่รหัสตัวอย่าง โปรดพิจารณาเพิ่มลงในคำถามที่นี่
berkes

คำตอบ:


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 () เพื่อที่จะไม่ดึงข้อมูลโหนดที่ไม่ถูกเผยแพร่

ในขณะที่คุณรอการแก้ไขที่ดีกว่าจากผู้ดูแลโมดูลคุณสามารถแก้ไขรหัสนี้ได้อย่างรวดเร็วโดยการเปลี่ยนคำสั่งแรกถ้าต้องการเพิ่ม$ node-> status == 1 เงื่อนไขดังนี้:

if ($node->status==1 && isset($node->feeds) && $importer_id = feeds_get_importer_id($node->type))
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.