Добрый день!
Прошу прощения за перепост, но к сожалению в предыдущем посте http://www.drupal.ru/node/114605 мне ничего так ни кто толком разъяснить не смог. Задача в принципе та же. Есть простенькая таблица, лежащая в базе вместе с таблицами Друпала назовем её tovar (id товара, название товара, артикул и количество товара). Создан тип материала с полями (Idтовара, наименование товара и место хранения товара). Нужно что бы при добавлении содержимого этого типа материала вписав в поле Idтовара его id и нажатии кнопки "Сохранить" происходило обращение к таблице tovar и по id вытаскивалось название товара и подгружалось в эту ноду. Погуглив нашел хук hook_node_insert, но так и не понял, как мне его использовать(((( Если кто то сможет на примере объяснить как это сделать или скинет ссылку на русскоязычный пример буду очень признателен.
Комментарии
Ой, да наймите кого нибудь уже..
Там написать быстрее чем объяснить..
Помню когда-то сам смотрел на хуки квадратными глазами
Если коротко, то нужно создать свой модуль, который будет состоять из двух файлов:
ваш_модуль.info
ваш_модуль.module
в первом будет описание (инфы в нете, в том числе и рускоязычной пруд пруди), во втором соб-сно сам хук:
function ваш_модуль_node_insert($node) {
/* тут Ваш код,
* выполняемый при создании ноды
*/
}
вот и весь файл. "ваш_модуль" заменить на придуманное название для новосозданного модуя
Это в первом же посте про создание модуля можно найти))))) Трудность как раз не в создании 2-х файликов (с этим и первоклассник справится), а в том что нет примера с описанием что откуда берется при использовании хука в коде модуля... А по поводу нанять кого-нибудь - хотелось самому разобраться что к чему, вот в чем дело...
ссылка google.com
запросы:
drupal hook
hook_node_insert
узнавал - гугл вкурсе..
ну так а что неясно? Эта функция будет выполняться при добавлении новой ноды. Все ёё данные хранятся в переменной $node. только забыл амперсанд
теперь все Ваши безобразия, творимые с этой нодой в ней же и останутся.
Фактически
соответственно в этой функции написать что
далее, насколько я понимаю, запрос в базу к вашей таблице с целью получения названия товара. Потом
Вот и весь сказ
П.С. не забыть вконце закрыть иф
А зачем объект ноды передавать по ссылке?
Кокой прототип - токая и пиредача. Так-то.
Как будто кто-то знает о разнице между 5.2 и 5.3++ пыхами
дык никто и не догадывается даже к чему ты это вообще сказал
дык, что бы заполненное поле ноды сохранилось нужно либо тянуть ноду ссылкой, либо потом ретурн делать, нет?
На звание гуру не претендую, всегда готов учиться дальше, так что выслушаю все замечания. Будет полезно и мне, и создателю топа.
Только чур не просто поглумиться и смыться, так-то толку мало будет
ну дык объект как бы и без передачи по ссылке изменится (http://php.net/manual/ru/language.oop5.references.php и вот пример http://codepad.org/HN5kTkVc), а во-вторых hook_node_insert не для того чтобы объект ноды менять
а по теме топика, так в документации по api практически такой же пример и приведен https://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_insert/7, только запрос минимально подправить
а можно чуток подробнее, плз? Хоть в какую сторону гуглить чтобы про это почитать. Почему измениться? Дело с объектом, друпалом, версией пхп или ещё чего? Мне б только направление..
про это, каюсь, даж не вчитывался. Вопрос стоял как применить, а подобрать нужный, думаю автор сможет и сам
спасибо за объяснения и респект за помощь нуждающимся