Как ловчее всего в восьмерке выводить поле, требующее PHP-вычислений?

Главные вкладки

Аватар пользователя marassa marassa 25 июля 2018 в 17:11

С сегодняшнего дня без объявления войны Google перестал отдавать картинки StreetView по неподписанным запросам. До этого момента у меня было определено кастомное поле Display Suite, в котором на токенах собирался нужный код:
<p><img onclick="showStreetView([node:field_coordinates:lat], [node:field_coordinates:lng])" src="https://maps.googleapis.com/maps/api/streetview?size=344x100&amp;fov=120&amp;location=[node:field_coordinates:lat],[node:field_coordinates:lng]&amp;key=XXXXXXXXXXXXXXXXXXXXXXXXXXXX" style="cursor: pointer;" title="Click to go there!" /></p>
Теперь к этому урлу надо приписать еще и &signature=YYYY, но сигнатура эта должна вычисляться индивидуально для каждого урла в зависимости от самого урла и моего секретного ключа. Как вычислять - абсолютно понятно, непонятно только куда вставить этот код. Перепробовал все мыслимые хуки - нету моего кода в рендер-массивах, нечего подменять. По всей видимости Display Suite выплевывает разметку поля в страницу в самый последний момент, после всех хуков.
Наверняка же есть простое и очевидное решение, которого я почему-то не вижу?
Можно, конечно, на JS сделать, но тогда я фактически выложу свой секретный ключ на всеобщее обозрение, что полная порнография...

Комментарии

Аватар пользователя marassa marassa 25 июля 2018 в 19:22

Была сразу такая идея, но ведь этому токену нужно будет каким-то образом нужный контекст передать - те же координаты для построения урла, и навскидку я не увидел как это сделать.

Аватар пользователя Semantics Semantics 25 июля 2018 в 19:29
1

Когда создаёшь токен, там полностью доступна сущность, вы сможете достать любые поля и сделать с ними нужные операции

Аватар пользователя marassa marassa 25 июля 2018 в 19:36

Буду знать, но есть еще 2 аргумента против токена:
1. Логика, связанная с этим полем, будет размазана по двум местам: полю DS, которое делает почти всё да не всё, и специально для этого созданному токену - неудобно сопровождать. А с псевдо-полем всё лежит в одном понятном месте, а от поля DS можно вообще отказаться.
2. Токены всё же подразумевают некоторый реюз. А специально делать токен, который заведомо будет использоваться только в одном месте, как-то неизящно.