Рейтинг:0

Можно ли определить место назначения, которое Views добавляет к ссылкам?

флаг us

Представления имеют поле для создания выпадающего меню, и у него есть возможность добавить место назначения к этим ссылкам. Это прекрасно работает. К сожалению, если представление используется через вызов AJAX, пункт назначения в конечном итоге выглядит так, как будто он должен вернуться к вызову AJAX, а не к странице, которая запустила вызов ajax. Эта основная ошибка Drupal: https://www.drupal.org/project/drupal/issues/2866386 сообщает об этой проблеме в несколько ином случае использования, чем мой; и, к сожалению, ошибка помечена как ЗАКРЫТА (хотя технически это не так).

В моем случае используется модальная форма, которая при отправке изменяет значения в блоке на этой странице. В этом блоке есть множество ссылок, которые используют раскрывающийся список Views. В вызове ajax я повторно запускаю представление и обновляю блок на своей странице с результатом обновленного представления. Из-за упомянутой выше проблемы все ссылки имеют поврежденный набор пунктов назначения.

Хотите знать, есть ли способ установить место назначения, которое Views хочет использовать, прежде чем я запущу $view->execute()?

Надеялся на что-то вроде $view->setDestination(); но не повезло (я подозреваю, что люди думают, что Views знает, что такое надлежащее назначение).

флаг cn
Ошибки не по теме этого сайта. Если у вас есть воспроизводимый отчет об ошибке, затрагивающий ядро, его следует зарегистрировать как ошибку на drupal.org.
флаг cn
Если ваша проблема связана с уже закрытой ошибкой, вы должны открыть новый отчет об ошибке и сослаться на закрытый отчет об ошибке как на связанную проблему. Вы должны быть как можно более конкретными в описании того, чем обнаруженная вами ошибка отличается от уже закрытого отчета об ошибке, или предоставить доказательства того, почему закрытый отчет об ошибке не должен был быть закрыт.
No Sssweat avatar
флаг ua
Возможно, в качестве обходного пути вы сможете исправить эти значения назначения через JS при завершении ajax.
liquidcms avatar
флаг us
@PatrickKenny, это не отчет об ошибке. Я думал, что выделение вопроса жирным шрифтом выделит вопрос.
liquidcms avatar
флаг us
@NoSssweat, а, понятно. Попросите js войти и изменить все ссылки в представлении. Да, это возможно, но я также мог бы легко снять флажок «добавить пункт назначения» в раскрывающемся поле в представлении и вручную создать ссылку с пунктом назначения для каждого поля, но я надеялся найти способ установить это для представления, поэтому мне не нужно обрабатывать каждую ссылку отдельно. Возможно, нет способа сделать это.
liquidcms avatar
флаг us
Было бы неплохо, если бы Views исправили это или имели правильный способ установить пункт назначения; но пока я как бы понял подсказку из ответа @NoSssweat и просто сделал то же самое в php. Использовал preg_replace для замены всех пунктов назначения на правильный, когда я получаю визуализированный html, прежде чем записывать его обратно в виде ответа ajax.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.