Size: a a a

2019 December 03

VS

Victor Stepankov in Drupal RU
Anton Uralsky
Здравствуйте! Вопрос по D7

Подскажите, пожалуйста, могу ли я из шаблона views-view.tpl.php получить поля термина, который сейчас выводится?
если ты хочешь вытащить термин в заголовок или ещё куда, то лучше делай это из самой вьюхи, благо токены есть, чем из шаблона
источник

AU

Anton Uralsky in Drupal RU
Victor Stepankov
если ты хочешь вытащить термин в заголовок или ещё куда, то лучше делай это из самой вьюхи, благо токены есть, чем из шаблона
Там сайт подоменный, работает всё из 1 БД. На каждый город своё поле для описания категории (категории общие); я думал искать поле для текущего города с помощью php
источник

AU

Anton Uralsky in Drupal RU
Хотя... Я же могу вывести во вьюху все, а отображать уже нужный по своей логике
источник

M

Max in Drupal RU
Oleg, поздравляю, Вы 666-й участник группы
источник

AK

Alexey Korepov in Drupal RU
Подскажите как в D8 можно "отсабмитить" форму на этапе функции buildForm()?

Задача в том, чтобы при передаче параметров формы в урле - сразу выводить результаты сабмита этой формы.

Пример: при открытии формы с get-параметром /myform?field1=mytext я заполняю значение $form['field1']['#value'] = \Drupal::request()->query->get('field1'); и после этого вызываю $this->submitForm($form, $form_state); но туда не прилетает заполненное значение, т.е. $form_state->getValue('field1') возвращает null.

Если я пытаюсь заполнить в buildForm() через $form_state->setValue('field1', \Drupal::request()->query->get('field1')) - то в сабмит оно попадет, но в форме не заполняется.

Нужно дважды заполнять (#value в массиве + $form_state->setValue) или есть какой-то способ чтобы все #value попали автоматом в $form_state?
источник

VS

Victor Stepankov in Drupal RU
Alexey Korepov
Подскажите как в D8 можно "отсабмитить" форму на этапе функции buildForm()?

Задача в том, чтобы при передаче параметров формы в урле - сразу выводить результаты сабмита этой формы.

Пример: при открытии формы с get-параметром /myform?field1=mytext я заполняю значение $form['field1']['#value'] = \Drupal::request()->query->get('field1'); и после этого вызываю $this->submitForm($form, $form_state); но туда не прилетает заполненное значение, т.е. $form_state->getValue('field1') возвращает null.

Если я пытаюсь заполнить в buildForm() через $form_state->setValue('field1', \Drupal::request()->query->get('field1')) - то в сабмит оно попадет, но в форме не заполняется.

Нужно дважды заполнять (#value в массиве + $form_state->setValue) или есть какой-то способ чтобы все #value попали автоматом в $form_state?
посмотри ядрёный модуль search
источник

AP

Andrey Postnikov in Drupal RU
Alexey Korepov
Подскажите как в D8 можно "отсабмитить" форму на этапе функции buildForm()?

Задача в том, чтобы при передаче параметров формы в урле - сразу выводить результаты сабмита этой формы.

Пример: при открытии формы с get-параметром /myform?field1=mytext я заполняю значение $form['field1']['#value'] = \Drupal::request()->query->get('field1'); и после этого вызываю $this->submitForm($form, $form_state); но туда не прилетает заполненное значение, т.е. $form_state->getValue('field1') возвращает null.

Если я пытаюсь заполнить в buildForm() через $form_state->setValue('field1', \Drupal::request()->query->get('field1')) - то в сабмит оно попадет, но в форме не заполняется.

Нужно дважды заполнять (#value в массиве + $form_state->setValue) или есть какой-то способ чтобы все #value попали автоматом в $form_state?
Нет такого, но заполнить по умолчанию - используется слово prepopulate
источник

AI

Andrei Ivnitskii in Drupal RU
Max
Oleg, поздравляю, Вы 666-й участник группы
Был уже тут Олег с похожей фамилией. Оказался спамером
источник

AK

Alexey Korepov in Drupal RU
Andrey Postnikov
Нет такого, но заполнить по умолчанию - используется слово prepopulate
Ну т.е. для такой задачи заполнять значение дважды (в массив $form и в $form_state) - это нормальный вариант? Про prepopulate чёт не понял где его использовать, и не гуглится ничего подходящего по form api
источник

ИЛ

Иван Лещёв in Drupal RU
@chi_teck как насичёт добавить в твиг твик функцию хелпер для кеша сущности
чтоб не писать каждый раз такое вот
{{ {'#cache': { tags: stock.getCacheTags()} } }}
источник

dD

d Dons in Drupal RU
Подскажите как в d7 заставить модуль mobile theme работать с кешем ?
источник

VS

Victor Stepankov in Drupal RU
99%, что никак
источник

dD

d Dons in Drupal RU
Плохо дело
источник

dD

d Dons in Drupal RU
Было время вроде как работало
источник
2019 December 04

I<

Ivan in Drupal RU
Иван Лещёв
@chi_teck как насичёт добавить в твиг твик функцию хелпер для кеша сущности
чтоб не писать каждый раз такое вот
{{ {'#cache': { tags: stock.getCacheTags()} } }}
Я думал когда то над этим. Толку особого нет. Писать придётся почти тоже самое или даже больше.
{{ {'#cache': { tags: stock.getCacheTags()}} }}
{{ drupal_cache({tags: stock.getCacheTags()}) }}
источник

I<

Ivan in Drupal RU
Тут есть патч для ядра
https://www.drupal.org/project/drupal/issues/2660002
источник

Y

Yaro in Drupal RU
а в чем проблема? Зачем кешировать внутри темплейтов? дичь какая-то
источник

Y

Yaro in Drupal RU
в шаблоне уже поздно это делать. Шаблон сам по себе может использоваться N раз, и кешироваться по-разному, потому - правильно будет это делать в рендерабл массиве на уровне с #theme
источник

Y

Yaro in Drupal RU
Yaro
в шаблоне уже поздно это делать. Шаблон сам по себе может использоваться N раз, и кешироваться по-разному, потому - правильно будет это делать в рендерабл массиве на уровне с #theme
в препроцессе тоже просто 💩. Ровно то же что и шаблон, по сути.
тема вообще никак не должна логику затрагивать, а свежесть данных это как раз всё же логика
источник

I<

Ivan in Drupal RU
Yaro
а в чем проблема? Зачем кешировать внутри темплейтов? дичь какая-то
Кеш-метаданные добавить. См. ишью.
источник