Web
Analytics
Skip to content

Concrete5 на русском языке

У меня есть дерево тем такого вида:

Категории-
-Тема 1
-Тема 2
-Тема 3

$topics = ("Topic 1", "Topic 2", "Topic 3);
echo $form->select('categories', $topics);

Чтобы вывести значения атрибута с выпадающим списком используйте этот сниппет:

use Concrete\Core\Attribute\Key\CollectionKey as CollectionKey;
use Concrete\Attribute\Select\Controller as SelectController;
use Concrete\Core\Attribute\Type as AttributeType;

$ak = CollectionKey::getByHandle('region');
$at = AttributeType::getByHandle('select');
$satc = new SelectController($at);
$satc->setAttributeKey($ak);   
$values = $satc->getOptions()->getOptions();
foreach ($values as $key => $value) {
    $this->options[$value->getSelectAttributeOptionID()] 
               = $value->getSelectAttributeOptionValue();
}

Вот работающий код для Concrete5 версии 5.7

use Concrete\Core\Tree\Type\Topic as TopicTree;  
public $category = array('');

public function view() {
...
    $this->requireAsset('core/topics');  
    $tt = new TopicTree();  
    $tree = $tt->getByName('Моя категория');  
    $node = $tree->getRootTreeNodeObject();  
    $node->populateChildren();  
    if (is_object($node)) {  
        foreach($node->getChildNodes() as $key => $category) {  
            if ($category instanceof \Concrete\Core\Tree\Node\Type\Topic) {  
                $this->category[$category->getTreeNodeDisplayName()] 
                      = $category->getTreeNodeDisplayName();  
            }  
        }  
    }  
...
}

Загрузка беседы