public function TagadelicCloudTaxonomy::createTags in Tagadelic 8.3
Parameters
$options. An array of properties that may be needed to create the tags array.:
Poulate the member array of TagadelicTag objects
Return value
NULL.
Overrides TagadelicCloudBase::createTags
File
- src/
TagadelicCloudTaxonomy.php, line 35
Class
- TagadelicCloudTaxonomy
- Class TagadelicCloud.
Namespace
Drupal\tagadelicCode
public function createTags(array $options = array()) {
$config = \Drupal::config('tagadelic.settings');
$vocabularies = $config
->get('tagadelic_vocabularies');
$max_amount = 50;
$query = db_select('taxonomy_index', 'i');
$alias = $query
->leftjoin('taxonomy_term_field_data', 't', '%alias.tid = i.tid');
$query
->addExpression('COUNT(i.nid)', 'count');
$query
->addField($alias, 'tid');
$query
->addField($alias, 'name');
$query
->addField($alias, 'description__value');
$query
->orderBy('count', 'DESC');
// If no vocabularies have been configured use them all
if (count($vocabularies)) {
foreach ($vocabularies as $key => $value) {
if ($key !== $value) {
$query
->condition('t.vid', $key, '<>');
}
}
}
$query
->range(0, $max_amount)
->groupBy("t.tid")
->groupBy("t.name")
->groupBy("t.description__value");
foreach ($query
->execute() as $item) {
$tag = new TagadelicTag($item->tid, $item->name, $item->count);
$this
->addTag($tag);
}
}