public function OnlyOnePrintDrush::getContentTypesListForPrint in Allow a content type only once (Only One) 8
Return a list of content types for print.
Parameters
object[] $content_types: A multidimensional array of content types objects.
Return value
array An array of content types to print keyed by content type machine name.
Overrides OnlyOnePrintStrategyInterface::getContentTypesListForPrint
File
- src/
OnlyOnePrintDrush.php, line 27
Class
- OnlyOnePrintDrush
- Class OnlyOnePrintDrush.
Namespace
Drupal\onlyoneCode
public function getContentTypesListForPrint(array $content_types) {
$list = [];
// Iterating over each content type.
foreach ($content_types as $content_type => $content_type_info) {
$cant = count($content_type_info);
// Iterating over each language.
for ($i = 0; $i < $cant; $i++) {
// Example for multilingual sites:
// Article (En: 7 Nodes, Fr: 5 Nodes, Not specified: 2 Nodes).
// Example for non multilingual sites:
// Article (3 Nodes).
$list[$content_type] = $content_type_info[$i]->name . ' (' . implode(', ', array_column($content_type_info, 'total_nodes')) . ')';
$list[$content_type] .= $content_type_info[$i]->configured ? ' ' . sprintf(self::GREEN_OUTPUT, $this
->t('Configured')) : '';
}
}
return $list;
}