Есть массив
$array['results'] = [
'0' => [
'text' => 'Одежда',
'children' => [
'0' => [
'text' => 'Футболки',
'children' => [
'0' => [
'text' => 'Майки спортивные',
'id' => '3'
],
'1' => [
'text' => 'Футболки-поло',
'id' => '4'
]
]
],
'1' => [
'text' => 'Брюки и шорты',
'children' => [
'0' => [
'text' => 'Бермуды',
'id' => '6'
],
'1' => [
'text' => 'Брюки',
'id' => '7'
]
]
]
]
],
'1' => [
'text' => 'Обувь',
'children' => [
'0' => [
'text' => 'Туфли',
'children' => [
'0' => [
'text' => 'Туфли спортивный',
'id' => '8'
],
'1' => [
'text' => 'Туфли классические',
'id' => '9'
]
]
],
'1' => [
'text' => 'Ботинки',
'children' => [
'0' => [
'text' => 'Ботинки зимние',
'id' => '10'
],
'1' => [
'text' => 'Ботинки летние',
'id' => '11'
]
]
]
]
],
];
И есть Select2
echo $form->field($product_model, 'category_id')->widget(
Select2::classname(), [
'hideSearch' => true,
'options' => [
'class' => 'select-category',
'placeholder' => 'Выберите модель товара, или добавьте новую ...',
],
'theme' => Select2::THEME_DEFAULT,
'pluginOptions' => [
'tags' => true,
'allowClear' => true,
'ajax' => [
'url' => \yii\helpers\Url::to(['products/product-list']),
'dataType' => 'json',
],
],
]
);
Так вот, как видно, Select2 заходит по url "products/product-list" который возвращает данный массив в json формате.
И в итоге получается это:
Все класс, работает, но есть одно но...
А именно, когда разворачиваешь список, он секунд 10 его грузит!
Если я определяю этот же массив в контроллере, передаю его при загрузке страницы в вид и записываю в select2:
echo $form->field($product_model, 'category_id')->widget(
Select2::classname(), [
'hideSearch' => true,
'options' => [
'class' => 'select-category',
'placeholder' => 'Выберите модель товара, или добавьте новую ...',
],
'data' => $array, // Нужный массив, НЕ в json формате
'theme' => Select2::THEME_DEFAULT,
'pluginOptions' => [
'tags' => true,
'allowClear' => true,
],
]
);
то получается такая билибирда:
Как мне починить этот Select, что нужно вписать, дописать?? Уже второй день голову ломаю!