Пока решение: при импорте товаров буду записывать во временную таблицу id всех затронутых нод и передавать их в стандартную функцию индекса.
Написать хук, который будет при сохранении товара, обновлять ноду тоже не вариант, так как в ноде может быть несколько товаров а обновить ее нужно однократно
Нет, неправильно написал.
Интересует страница самого заказа.
Отдельной сущности, я хочу туда вывести программно другие данные.
И изменить станартную структуру вывода.
Например чтобы в заказе было видно статус заказа.
Статус доставки (если выбран сервис доставки и настроена интеграция)
Чтобы был шаблон который я смогу кастомизировать подробно node.tpl.php
До этого хука дошёл, но при попытке распечатать $view->result браузер на рабочем ноутбуке умер.
Значит в правильном направлении, если это можно так назвать, шел
Так я и не хочу лезть в шаблон, вопрос этому и посвящен.
Хочу узнать и понять где строится логика, как переопределить содержимое массива данных передаваемых потом в шаблон вьюса.
Ладно тут я еще такой пример привел, но другой пример, когда в зависимости от данных в одной строке, эти данные должны меняться в другой. И это нормально делается если пробежаться по массиву с нужным условием.
Но как получить доступ к массиву элементов выводимых во вьюсе, а тем более как переопределить их значения не пойму.
Админка - конечно хорошо, так и буду поступать, потому что сейчас других решений не знаю, кроме тех что мне предлагают.
Но может быть вы знаете как это же сделать и использованием api?
В рамках этой задачи конечно подходит.
Но как я говорил, есть же и прямые запросы к базе, чтобы получить данные которые не закреплены за сущностью в виде каких-то полей, или, что еще интереснее, если эти данные будут подтягиваться с какого то сервиса, с удаленного сервера без какого-либо кеша и потом же выводиться.
Пример кода сейчас привести не смогу.
Но вот пример из жизни
Допустим у нас сдаются в аренду объекты недвижимости или автомобили, не принципиально.
На этот предмет указана стоимость аренды за сутки.
И если срок аренды больше 7 дней то действует скидка 10%.
Ну и еще какие-то дополнительные условия могут применяться. Например, идти запрос в базу данных, по текущему пользователю, чтобы предоставить ему персональную скидку, если он накопил, какие нибудь баллы, бонусы, достиг какого-нибудь уровня.
Так и сделал (ну в вопросе собственно и написал об этом) в open serever все мигом сработало.
Что ж, сам хостинг как-то так настроен, что запросы могут дублироваться...
Если такое дело, буду тестировать на другом
То есть в самой форме мы отменяем required, а где писать условие? при проверке формы выходит?
Алгоритм, выходит, такой: если у нас есть какой то условие в зависимости от которого поля должны становиться обязательными, то в любом случае в саму форму можно добавить и обычные поля, а потом во время проверки уже ставить или убирать required?
В общем вопрос я наверное так и решил, пока ждал ответ) снял со всех required через админку а потом при проверке уже написал условие
Важное дополнение, перенёс приватную папку в папку с сайтом.
То есть теперь, зная путь до папки и название файла его можно открыть.
В настройках указал новый путь.
При загрузки картинки друпал так же генерирует путь до картинки как до приватной файла, и этот путь все так же не работает, странно как то.
хотинг бегет, странно что скрипты друпала, могут обращаться к этим файлам, когда создают кеш картинок.
а вот урл уже не тот, да скорее всего дело настройках сервера. Так как мне даже не друпаловская 404 отдается а именно серверная белая страница.
Это настройками записи в htaccess решается хотя бы.
структура папок такая
название сайта/private/файлы грузятся сюда
название сайта/public_html/файлы сайта
работает так: как только загрузил картинку, в поле появляется миниатюра и ссылка на оригинал, правее кнопка удалить.
проблема фключается когда создаю еще один стиль изображения но к которому не применяю никаких эфектов, занимая при этом x2 на хостиге, выход пока один, поднять сервак поставить диск побольше и забить на проблему))
ну либо создать кастомную функцию которая будет делать то что надо
Зачем друпал создает нерабочий системный урл для оригиналов?)
Друпал может обращаться к этой дирректории когда генерирует картинки на основе оригинала, водяные знаки и прочее, но когда он генерирует урл на сам оригинал - страница не найдена.
Да, использовал эту функцию, но по сути, она берет текущий файл и перезаписывает его. Думал, что есть функция, которая позволяет добавить данные о файле в базу без его пересохранения.
у меня есть материал с прикрепленными к нему материалами, перетаскиванием пользователь меняет их последовательность.
последовательность должна сохраниться, сохраниться.
Как флаги могут помочь с сортировкой?
Дело в том что у меня еще идет группировка по термину, и в первую очередь должна срабатывать сортировка по нему, то есть чтобы последовательность групп не изменилась, а потом уже должна сработать сортировка по весу. То есть вес должен менять внутри группы, не затрагивая последовательность групп.
И второе: что значит передать weight в рендер?))
перебрать $view->result и просто на каждой итерации добавлять в массив соответствующий ему элемент weight?
1 создаём уникальный индекс по тем полям по которым будем проводить сравнение.
Делается это во вкладке структура в phpmyadmin.
Выбираем отмечаем те поля в таблице, по которым будем сравнивать.
Нажимаем на кнопку "уникальный"
Либо другой вариант просто выполняем запрос
Search API. При обновлении прикрепленного к странице товара, фильтр не обновляется.
Пока решение: при импорте товаров буду записывать во временную таблицу id всех затронутых нод и передавать их в стандартную функцию индекса.
Написать хук, который будет при сохранении товара, обновлять ноду тоже не вариант, так как в ноде может быть несколько товаров а обновить ее нужно однократно
Search API. При обновлении прикрепленного к странице товара, фильтр не обновляется.
Это страница товара. Тип материала

страница товара содержит в себе вариации товаров (commerce products) при выборе вариации меняется цена.
Аналогично тому как это устроено на али экспресс, когда открываем страницу интересующего нас продукта, и выбираем нужные нам параметры
Как обновить значение поля при импорте, если материал отсутствует в фиде
Но как то же он снимает с публикации материалы и снова публикует.
Как добавить класс к ссылкам в меню?
точно спасибо, вот в этом модуле я и посмотрю как он атрибуты добавляет)
мне как раз пока надо классы по умолчанию к ссылкам добавить
Как создать и настроить шаблон для сущности заказа (commerce order)?
Нет, неправильно написал.
Интересует страница самого заказа.
Отдельной сущности, я хочу туда вывести программно другие данные.
И изменить станартную структуру вывода.
Например чтобы в заказе было видно статус заказа.
Статус доставки (если выбран сервис доставки и настроена интеграция)
Чтобы был шаблон который я смогу кастомизировать подробно node.tpl.php
Переопределить значения выводимых полей во views, в соответствии с логикой, написанной в php
До этого хука дошёл, но при попытке распечатать $view->result браузер на рабочем ноутбуке умер.
Значит в правильном направлении, если это можно так назвать, шел
Переопределить значения выводимых полей во views, в соответствии с логикой, написанной в php
Так я и не хочу лезть в шаблон, вопрос этому и посвящен.
Хочу узнать и понять где строится логика, как переопределить содержимое массива данных передаваемых потом в шаблон вьюса.
Ладно тут я еще такой пример привел, но другой пример, когда в зависимости от данных в одной строке, эти данные должны меняться в другой. И это нормально делается если пробежаться по массиву с нужным условием.
Но как получить доступ к массиву элементов выводимых во вьюсе, а тем более как переопределить их значения не пойму.
Переопределить значения выводимых полей во views, в соответствии с логикой, написанной в php
Админка - конечно хорошо, так и буду поступать, потому что сейчас других решений не знаю, кроме тех что мне предлагают.
Но может быть вы знаете как это же сделать и использованием api?
В рамках этой задачи конечно подходит.
Но как я говорил, есть же и прямые запросы к базе, чтобы получить данные которые не закреплены за сущностью в виде каких-то полей, или, что еще интереснее, если эти данные будут подтягиваться с какого то сервиса, с удаленного сервера без какого-либо кеша и потом же выводиться.
Переопределить значения выводимых полей во views, в соответствии с логикой, написанной в php
я имел в виду то что вы сказали про препроцесс вьюмода.
Попробую поискать сейчас сам
Переопределить значения выводимых полей во views, в соответствии с логикой, написанной в php
Какой хук для этого лучше всего подойдет?
как раз и хочется отделить логику от шаблона, чтобы не делать расчеты там, где из быть не должно
но ведь для фильтра вьюса это не подойдет? то есть в шаблон то я не смогу передать данные из фильтра
Переопределить значения выводимых полей во views, в соответствии с логикой, написанной в php
Пример кода сейчас привести не смогу.
Но вот пример из жизни
Допустим у нас сдаются в аренду объекты недвижимости или автомобили, не принципиально.
На этот предмет указана стоимость аренды за сутки.
И если срок аренды больше 7 дней то действует скидка 10%.
Ну и еще какие-то дополнительные условия могут применяться. Например, идти запрос в базу данных, по текущему пользователю, чтобы предоставить ему персональную скидку, если он накопил, какие нибудь баллы, бонусы, достиг какого-нибудь уровня.
Медленно добавляются поля к сущности, сама форма настройки полей долго сохраняется, суть вопроса внутри
Так и сделал (ну в вопросе собственно и написал об этом) в open serever все мигом сработало.
Что ж, сам хостинг как-то так настроен, что запросы могут дублироваться...
Если такое дело, буду тестировать на другом
Как программно отменить обязательность заполнения поля в форме?
То есть в самой форме мы отменяем required, а где писать условие? при проверке формы выходит?
Алгоритм, выходит, такой: если у нас есть какой то условие в зависимости от которого поля должны становиться обязательными, то в любом случае в саму форму можно добавить и обычные поля, а потом во время проверки уже ставить или убирать required?
В общем вопрос я наверное так и решил, пока ждал ответ) снял со всех required через админку а потом при проверке уже написал условие
Как программно отменить обязательность заполнения поля в форме?
Целый модуль из за 4 полей?
все таки хочется понять как это сделать программно, для иметь больший контроль над этим
Как создать шаблон для поля в конкретном типе материала для отдельного отражения?
ну вот есть типы материалов.
Для них шаблоны полей переопределяются вот так:
fiels--моеполе--мойтипматериала.tpl.php
У материалов есть дисплеи (отражения)
teaser, default, full, собственное...
мне нужно переопределить шаблон поля для отдельного типа материала для конкретного дисплея например анонса (teaser)
в этом случае логично назвать шаблон как то так:
fiels--моеполе--teaser--мойтипматериала.tpl.php но не срабатывает шаблон не подключается
Как настроить приватную дирректорию, чтобы после загрузки файла, он отдавася по сгенерированному урлу а не отдавал 404?
Важное дополнение, перенёс приватную папку в папку с сайтом.
То есть теперь, зная путь до папки и название файла его можно открыть.
В настройках указал новый путь.
При загрузки картинки друпал так же генерирует путь до картинки как до приватной файла, и этот путь все так же не работает, странно как то.
Как настроить приватную дирректорию, чтобы после загрузки файла, он отдавася по сгенерированному урлу а не отдавал 404?
Если урлы при этом заработаю то здорово, пока отдается 404, причем не друпаловская а серверная. То есть черный текст на белом фоне
Как настроить приватную дирректорию, чтобы после загрузки файла, он отдавася по сгенерированному урлу а не отдавал 404?
хотинг бегет, странно что скрипты друпала, могут обращаться к этим файлам, когда создают кеш картинок.
а вот урл уже не тот, да скорее всего дело настройках сервера. Так как мне даже не друпаловская 404 отдается а именно серверная белая страница.
Это настройками записи в htaccess решается хотя бы.
структура папок такая
название сайта/private/файлы грузятся сюда
название сайта/public_html/файлы сайта
работает так: как только загрузил картинку, в поле появляется миниатюра и ссылка на оригинал, правее кнопка удалить.
Как настроить приватную дирректорию, чтобы после загрузки файла, он отдавася по сгенерированному урлу а не отдавал 404?
проблема фключается когда создаю еще один стиль изображения но к которому не применяю никаких эфектов, занимая при этом x2 на хостиге, выход пока один, поднять сервак поставить диск побольше и забить на проблему))
ну либо создать кастомную функцию которая будет делать то что надо
Как настроить приватную дирректорию, чтобы после загрузки файла, он отдавася по сгенерированному урлу а не отдавал 404?
Зачем друпал создает нерабочий системный урл для оригиналов?)
Друпал может обращаться к этой дирректории когда генерирует картинки на основе оригинала, водяные знаки и прочее, но когда он генерирует урл на сам оригинал - страница не найдена.
Как прикрепить к ноде программно созданный файл?
Да, использовал эту функцию, но по сути, она берет текущий файл и перезаписывает его. Думал, что есть функция, которая позволяет добавить данные о файле в базу без его пересохранения.
Как программно отсортировать материалы во views
перебрал массив из объектов, вот содержимое
Как программно отсортировать материалы во views
у меня есть материал с прикрепленными к нему материалами, перетаскиванием пользователь меняет их последовательность.
последовательность должна сохраниться, сохраниться.
Как флаги могут помочь с сортировкой?
Как программно отсортировать материалы во views
Дело в том что у меня еще идет группировка по термину, и в первую очередь должна срабатывать сортировка по нему, то есть чтобы последовательность групп не изменилась, а потом уже должна сработать сортировка по весу. То есть вес должен менять внутри группы, не затрагивая последовательность групп.
И второе: что значит передать weight в рендер?))
перебрать $view->result и просто на каждой итерации добавлять в массив соответствующий ему элемент weight?
Как вставить многомерный массив в базу данных с заменой существующих строк?
1 создаём уникальный индекс по тем полям по которым будем проводить сравнение.
Делается это во вкладке структура в phpmyadmin.
Выбираем отмечаем те поля в таблице, по которым будем сравнивать.
Нажимаем на кнопку "уникальный"
Либо другой вариант просто выполняем запрос