Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 28 |
Rss | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 28 |
render | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 28 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\aggregator\Plugin\views\row\Rss. | |
*/ | |
namespace Drupal\aggregator\Plugin\views\row; | |
use Drupal\views\Plugin\views\row\RssPluginBase; | |
/** | |
* Defines a row plugin which loads an aggregator item and renders as RSS. | |
* | |
* @ViewsRow( | |
* id = "aggregator_rss", | |
* theme = "views_view_row_rss", | |
* title = @Translation("Aggregator item"), | |
* help = @Translation("Display the aggregator item using the data from the original source."), | |
* base = {"aggregator_item"}, | |
* display_types = {"feed"} | |
* ) | |
*/ | |
class Rss extends RssPluginBase { | |
/** | |
* The table the aggregator item is using for storage. | |
* | |
* @var string | |
*/ | |
public $base_table = 'aggregator_item'; | |
/** | |
* The actual field which is used to identify a aggregator item. | |
* | |
* @var string | |
*/ | |
public $base_field = 'iid'; | |
/** | |
* {@inheritdoc} | |
*/ | |
protected $entityTypeId = 'aggregator_item'; | |
/** | |
* {@inheritdoc} | |
*/ | |
public function render($row) { | |
$entity = $row->_entity; | |
$item = new \stdClass(); | |
foreach ($entity as $name => $field) { | |
$item->{$name} = $field->value; | |
} | |
$item->elements = array( | |
array( | |
'key' => 'pubDate', | |
// views_view_row_rss takes care about the escaping. | |
'value' => gmdate('r', $entity->timestamp->value), | |
), | |
array( | |
'key' => 'dc:creator', | |
// views_view_row_rss takes care about the escaping. | |
'value' => $entity->author->value, | |
), | |
array( | |
'key' => 'guid', | |
// views_view_row_rss takes care about the escaping. | |
'value' => $entity->guid->value, | |
'attributes' => array('isPermaLink' => 'false'), | |
), | |
); | |
$build = array( | |
'#theme' => $this->themeFunctions(), | |
'#view' => $this->view, | |
'#options' => $this->options, | |
'#row' => $item, | |
); | |
return $build; | |
} | |
} |