แยกไฟล์ CSV และเป้าหมายคือรับคอลัมน์อินพุตและเปลี่ยนเป็นช่อง Drupal สองช่อง อักขระ 3 ตัวสุดท้ายของฟิลด์ BondId กลายเป็นฟิลด์ใหม่ที่เรียกว่า TrancheId
ฟิลด์ BondID มีลักษณะดังนี้
ฟิลด์ต้นฉบับ CSV ที่ไม่ได้อยู่ในข้อมูลอินพุตจะถูกแมป
รหัสเพื่อเพิ่มเขตข้อมูล
คลาส CbiFeedAlterSubscriber ขยาย AfterParseBase {
/**
* {@inheritdoc}
*/
ใช้ฟังก์ชั่นสาธารณะ (ParseEvent $event) {
ส่งคืน $event->getFeed()->getType()->id() === 'พันธบัตร';
}
/**
* {@inheritdoc}
*/
ฟังก์ชันที่ได้รับการป้องกัน alterItem (ItemInterface $item, ParseEvent $event) {
$old_tranche_id = $item->get('TrancheId');
ถ้า ($old_tranche_id) {
กลับ;
}
// Tranche ID เป็นรายการข้อมูลใหม่ที่ได้รับมาจาก BondID
$bond_id = $item->get('ถูกผูกมัด');
$tranche_id = substr($bond_id, strlen($bond_id) - 3, 3);
$item->set('TrancheId', $tranche_id);
}
}
มีการกำหนดบริการ
บริการ:
cbi_feed_alter.feed_alter_event_subscriber:
คลาส: Drupal\cbi_feed_alter\EventSubscriber\CbiFeedAlterSubscriber
แท็ก:
- { ชื่อ: event_subscriber }