The Ant
не, просто нахуй такие фишечки )
The Ant
когда логгер писали были наверное неопытные совсем. не знали что операция добавления в файл строчки очень дешевая
The Ant
зачем предварительно складывать в массив непонятно
Andrew
Всем привет. Нужен совет. Работаю с ElasticSearch через расширение http://www.yiiframework.com/doc-2.0/ext-elasticsearch-index.html Есть 2 класса: 1. app\models\Article - это ActiveRecord MySQL базы. 2. app\models\ElasticArticle - это ActiveRecord базы ElasticSearch. Задача заключается в поиске и выводе статей с пагинацией на странице. Т.е. надо использовать дата провайдер. Получается в данном случае следует во вьюху передавать экземпляр yii\elasticsearch\ActiveDataProvider. Но он возвращает модели класса ElasticArticle. А хотелось бы во вьюхе работать с Article. Как быть?
mr.
Ладно, есть ли тут джедаи эластика?))
Stas
Ладно, есть ли тут джедаи эластика?))
а че @beowulfenator так и непоявился?
mr.
А я не знаю, ту проблему я уже решил.
Andrew
Да дело то даже не в эластике, а в том, чтобы в провайдере делать поиск используя один класс, а результат выдавать в другом)
mr.
У меня более интересная задача.
Stas
стучитесь в почту ему что бы появился здеся
Andrew
Аа. Что за задача?)
mr.
Щас опишу...
Stas
beowulfenator@gmail.com
Andrew
Relation между AR mysql и AR elastic. Во вьюхе будет AR elastic, дёргаем у него relation, получаем AR mysql
Не, дата провайдер должен возвращать именно AR MySQL. Может унаследоваться от yii\elasticsearch\ActiveDataProvider и переопределить метод getModels?
Alexey
нужен декорирующий активпровайдер
Ivan
Не, дата провайдер должен возвращать именно AR MySQL. Может унаследоваться от yii\elasticsearch\ActiveDataProvider и переопределить метод getModels?
Зачем ему возвращать именно AR mysql? Он работает с elastic, у него пагинация и фильтрация через elastic
Alexey
который возьмет страницу моделей с эластика и сделает тебе выборку sql моделей на основе моделей декорируемого провайдера
Andrew
нужен декорирующий активпровайдер
Да, к этому больше склоняюсь. Все таки хочется чтобы во всех вьюхах модели одного класса были.
Alexey
подмена моделей легко в общем-то делается 😊 с сохранением пагинации
Andrew
А в каком смысле декорирующий? Он наследоваться от yii\elasticsearch\ActiveDataProvider не будет, да?
Andrew
Т.е. будет провайдер который использует другой провайдер, так?
Alexey
не будет
Alexey
ща покажу
Alexey
https://gist.github.com/russianlagman/22d4e4b507ed4d3e52027a81af5c1221
Ivan
В миллион раз проще
Alexey
да, давай сделаем 20 запросов для каждой модели вместо одного для страницы
Alexey
так ведь оптимальнее
mr.
Задача, нужно в зависимости от введенных данных в форму выводить определенные seo теги. Допустим есть документы Seo, где параметры формы следующие: [ размер: 42 цвет: зеленый ] [ цвет: зеленый ] Следовательно мне нужно когда выбран цвет зеленый, возвращал третий документ, когда выбран цвет зеленый и размер 42 то первый, это всё ИЗИ, это уже сделано, моя задача состоит в том, что когда юзер выбрал цвет зеленый, размеры 42, 43, 44, то выбрало первый документ, не смотря на то, что нужные размеры отсутствуют.
Alexey
mr.
Привет, лагман)
mr.
Рад видеть!
Alexey
must на цвет и шуд на размер 😊
mr.
bool should
Так, возможно, сейчас второе уточнение сделаю.
mr.
must на цвет и шуд на размер 😊
Цветов тоже может быть несколько... Сейчас подожди пожалуйста, уточнение дам ещё, может подскажешь.
mr.
Задача, нужно в зависимости от введенных данных в форму выводить определенные seo теги. Допустим есть документы Seo, где параметры формы следующие: [ размер: 42 цвет: зеленый ] [ цвет: зеленый ] Следовательно мне нужно когда выбран цвет зеленый, возвращал третий документ, когда выбран цвет зеленый и размер 42 то первый, это всё ИЗИ, это уже сделано, моя задача состоит в том, что когда юзер выбрал цвет зеленый, размеры 42, 43, 44, то выбрало первый документ, не смотря на то, что нужные размеры отсутствуют.
Так же у свойств имеются веса, например сезон ценится выше чем цвет, цвет выше чем размер. Т.к. параметров может быть несколько, мне в голову пришла идея сделать поле вес, вес свойства рассчитываю как n^y, где n число, чтобы в максимальной степени не переполняло 32 бита, y степерь, по порядку. Сезон 5^4 Цвет 5^3 Размер 5^2 Далее вычисляем вес суммируя веса заполненных свойств. Это нужно для того, чтобы в случае когда запрос возвращает несколько результатов, можно было выбрать наиболее важный для СЕО документ
mr.
@russianlagman дописал)
mr.
Тут ещё эластик 1.7 такая боль, ни кибаны ниче толком не прикрутить.
Max
есть activeform
Max
<?php $form = ActiveForm::begin(['options' => ['id' => 'testForm']]) ?> <?= $form->field($model,'name')?> <?= $form->field($model,'text')?> <?= Html::submitButton('Отправить',['class'=>'btn btn-success'])?> <?php ActiveForm::end()?>
Max
есть ли возможность foreach ее выводить?
mr.
Да, выводи)
Max
<?php foreach ($devices as $dev){ $form = ActiveForm::begin(['options' => ['id' => 'testForm']]); $form->field($model,'name'); $form->field($model,'text'); Html::submitButton('Отправить',['class'=>'btn btn-success']); ActiveForm::end(); } ?>
Max
так не работает
Max
где ошибся?
Павел
И не будет
Павел
Везде ошибся
Павел
Откуда у тебя $model взялась
mr.
Ну и эхо у него нету
Max
там dev, я просто быстро накидал сейчас
Павел
Накидался?
Павел
Ну и эхо у него нету
mr.
<?php foreach ($devices as $dev) : ?> <?php $form = ActiveForm::begin(['options' => ['id' => 'testForm']]); ?> <?= $form->field($model,'name') ?> <?= $form->field($model,'text') ?> <?= Html::submitButton('Отправить',['class'=>'btn btn-success']) ?> <?= ActiveForm::end(); ?> <?php endforeach; ?>
mr.
Накидался?
Чего накидался, кто будет данные то выводить?
mr.
Ещё бы айдишник формы следовало бы уникальными сделать.
mr.
Иначе при валидации начнутся свистопляски.
Павел
Чего накидался, кто будет данные то выводить?
Когда накидался уже ничего не надо 😂
mr.
Ясно.
Max
Накидался?
набросал код для примера
Павел
И id формы правда сделай разными
The Ant
['id' => 'testForm'] говняшку эту убрать и он сам станет разным
Павел
Фдрук ему нужны определенные id
Павел
Какой нибудь кастомный js завязан
The Ant
на ид завязывать нынчо зашквар
mr.
В йии2 гвоздями жыквери прибит.
The Ant
классы, дата атрибуты. нада уточнять у фронедщиков. я таковым не являюсь )
mr.
Я люблю делать так, какой-то опреденный блок - ему назначаю id, а всё что внутри - классами.
The Ant
В йии2 гвоздями жыквери прибит.
можно выпилить его. ничто этому не мешает. и прикрутить что-нибудь другое
mr.
Мы все знаем, что можно выпилить, передалать.
The Ant
кромек как в админке этот функционал не нужен нигде
The Ant
потому что это сцаный бутстрап