Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Авто генерация поля CCK как значение артикул, так же проверка на уникальность данного поля

22/02/2025, by Гость (не проверено)

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


Здравствуйте, вы можете использовать хук hook_node_insert($node), когда будете писать код в объекте ноды будет ваше поле, в которое вы можете вставить любое число. Например можно  взять нужный нам nid с помощью такого вот запроса:

http://php.net/manual/ru/function.mysql-insert-id.php

А в целом у каждого поля есть значение по умолчанию, куда можно токенами забить значение.

 

 


Проверку на уникальность тоже можно в этом хуке сделать. Написать запрос к бд с вашим значением поля, если в результате будет не пустой запрос, выводите ошибку, через drupal_set_error().


хорошая реализация в ubercart модулем Product Power Tools очень мне понравилась реализация автогенерации sku [term-id][nid], как-то можно подобное реализовать без применения уберкарта ?


http://drupal.org/project/token_field

Этот модуль посмотрите.


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


спасибо вышло:) разобрался! всё просто и легко оказалось!


так вот установил модуль всё понравилось но вот данный модуль внёс коррективы в отображение полей, суть такова во вьюс не выводит поля созданные token_field - это первый облом, второй при создании ноды созданное поле артикула генерируется автоматом по номеру ноды, дальше хотелось бы чтоб заголовок страницы брался таким представлением "очки № ..." и как раз после номера подтягивало наш артикул, для это решил использовать Automatic Nodetitles но вот он тоже не видит поля созданные с помощью  token_field :( кто знает и может помочь с решением данной задачи?....... и выходит вроде артикул создаёт автоматом но чтоб заголовок нормально отображал надо повторно зайти на ноду и пере-сохранить её чтоб в заголовке отобразился номер ноды и вид приняло "очки №151"


Такое проще всего написать через hook_node_insert, hook_node_update(). Там все просто, создаешь свой модуль и переопределяшь поля объекта $node.