engenes: Комментарии

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

15 марта 2021 в 13:33

Пока решение: при импорте товаров буду записывать во временную таблицу id всех затронутых нод и передавать их в стандартную функцию индекса.

Написать хук, который будет при сохранении товара, обновлять ноду тоже не вариант, так как в ноде может быть несколько товаров а обновить ее нужно однократно

15 марта 2021 в 13:03

Это страница товара. Тип материала

страница товара содержит в себе вариации товаров (commerce products) при выборе вариации меняется цена.

Аналогично тому как это устроено на али экспресс, когда открываем страницу интересующего нас продукта, и выбираем нужные нам параметры

4 апреля 2020 в 16:45

Нет, неправильно написал.
Интересует страница самого заказа.
Отдельной сущности, я хочу туда вывести программно другие данные.
И изменить станартную структуру вывода.
Например чтобы в заказе было видно статус заказа.
Статус доставки (если выбран сервис доставки и настроена интеграция)
Чтобы был шаблон который я смогу кастомизировать подробно node.tpl.php

28 января 2020 в 19:30

До этого хука дошёл, но при попытке распечатать $view->result браузер на рабочем ноутбуке умер.
Значит в правильном направлении, если это можно так назвать, шел

28 января 2020 в 12:43

Так я и не хочу лезть в шаблон, вопрос этому и посвящен.
Хочу узнать и понять где строится логика, как переопределить содержимое массива данных передаваемых потом в шаблон вьюса.

Ладно тут я еще такой пример привел, но другой пример, когда в зависимости от данных в одной строке, эти данные должны меняться в другой. И это нормально делается если пробежаться по массиву с нужным условием.

Но как получить доступ к массиву элементов выводимых во вьюсе, а тем более как переопределить их значения не пойму.

28 января 2020 в 9:45

Админка - конечно хорошо, так и буду поступать, потому что сейчас других решений не знаю, кроме тех что мне предлагают.
Но может быть вы знаете как это же сделать и использованием api?
В рамках этой задачи конечно подходит.
Но как я говорил, есть же и прямые запросы к базе, чтобы получить данные которые не закреплены за сущностью в виде каких-то полей, или, что еще интереснее, если эти данные будут подтягиваться с какого то сервиса, с удаленного сервера без какого-либо кеша и потом же выводиться.

28 января 2020 в 9:30

davps wrote:
Оъявите новый вьюмод у сущности.
В препроцессе вьюмода описывайте нужную кастомную логику и результаты передавайте в шаблон

Какой хук для этого лучше всего подойдет?
как раз и хочется отделить логику от шаблона, чтобы не делать расчеты там, где из быть не должно

но ведь для фильтра вьюса это не подойдет? то есть в шаблон то я не смогу передать данные из фильтра

28 января 2020 в 8:32

Пример кода сейчас привести не смогу.
Но вот пример из жизни

Допустим у нас сдаются в аренду объекты недвижимости или автомобили, не принципиально.
На этот предмет указана стоимость аренды за сутки.
И если срок аренды больше 7 дней то действует скидка 10%.
Ну и еще какие-то дополнительные условия могут применяться. Например, идти запрос в базу данных, по текущему пользователю, чтобы предоставить ему персональную скидку, если он накопил, какие нибудь баллы, бонусы, достиг какого-нибудь уровня.

12 января 2020 в 19:44

Так и сделал (ну в вопросе собственно и написал об этом) в open serever все мигом сработало.
Что ж, сам хостинг как-то так настроен, что запросы могут дублироваться...
Если такое дело, буду тестировать на другом

12 января 2020 в 19:39

То есть в самой форме мы отменяем required, а где писать условие? при проверке формы выходит?
Алгоритм, выходит, такой: если у нас есть какой то условие в зависимости от которого поля должны становиться обязательными, то в любом случае в саму форму можно добавить и обычные поля, а потом во время проверки уже ставить или убирать required?

В общем вопрос я наверное так и решил, пока ждал ответ) снял со всех required через админку а потом при проверке уже написал условие

17 июля 2019 в 21:23

ну вот есть типы материалов.
Для них шаблоны полей переопределяются вот так:
fiels--моеполе--мойтипматериала.tpl.php

У материалов есть дисплеи (отражения)
teaser, default, full, собственное...

мне нужно переопределить шаблон поля для отдельного типа материала для конкретного дисплея например анонса (teaser)

в этом случае логично назвать шаблон как то так:
fiels--моеполе--teaser--мойтипматериала.tpl.php но не срабатывает шаблон не подключается

22 июня 2019 в 14:09

Важное дополнение, перенёс приватную папку в папку с сайтом.
То есть теперь, зная путь до папки и название файла его можно открыть.
В настройках указал новый путь.

При загрузки картинки друпал так же генерирует путь до картинки как до приватной файла, и этот путь все так же не работает, странно как то.

18 июня 2019 в 10:16

Если урлы при этом заработаю то здорово, пока отдается 404, причем не друпаловская а серверная. То есть черный текст на белом фоне

18 июня 2019 в 10:14

хотинг бегет, странно что скрипты друпала, могут обращаться к этим файлам, когда создают кеш картинок.
а вот урл уже не тот, да скорее всего дело настройках сервера. Так как мне даже не друпаловская 404 отдается а именно серверная белая страница.
Это настройками записи в htaccess решается хотя бы.

структура папок такая

название сайта/private/файлы грузятся сюда
название сайта/public_html/файлы сайта

работает так: как только загрузил картинку, в поле появляется миниатюра и ссылка на оригинал, правее кнопка удалить.

17 июня 2019 в 20:47

проблема фключается когда создаю еще один стиль изображения но к которому не применяю никаких эфектов, занимая при этом x2 на хостиге, выход пока один, поднять сервак поставить диск побольше и забить на проблему))

ну либо создать кастомную функцию которая будет делать то что надо

17 июня 2019 в 20:45

Зачем друпал создает нерабочий системный урл для оригиналов?)
Друпал может обращаться к этой дирректории когда генерирует картинки на основе оригинала, водяные знаки и прочее, но когда он генерирует урл на сам оригинал - страница не найдена.

24 мая 2019 в 7:13

Да, использовал эту функцию, но по сути, она берет текущий файл и перезаписывает его. Думал, что есть функция, которая позволяет добавить данные о файле в базу без его пересохранения.

26 апреля 2019 в 11:19

у меня есть материал с прикрепленными к нему материалами, перетаскиванием пользователь меняет их последовательность.
последовательность должна сохраниться, сохраниться.
Как флаги могут помочь с сортировкой?

26 апреля 2019 в 11:16

Дело в том что у меня еще идет группировка по термину, и в первую очередь должна срабатывать сортировка по нему, то есть чтобы последовательность групп не изменилась, а потом уже должна сработать сортировка по весу. То есть вес должен менять внутри группы, не затрагивая последовательность групп.

И второе: что значит передать weight в рендер?))

перебрать $view->result и просто на каждой итерации добавлять в массив соответствующий ему элемент weight?

25 апреля 2019 в 18:08
2

1 создаём уникальный индекс по тем полям по которым будем проводить сравнение.
Делается это во вкладке структура в phpmyadmin.
Выбираем отмечаем те поля в таблице, по которым будем сравнивать.

Нажимаем на кнопку "уникальный"
Либо другой вариант просто выполняем запрос