Свой ID для кажого вида контента

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

Аватар пользователя turok turok 8 мая 2007 в 15:40

Подскажите, как вести собственную нумерацию (ID) для контента различного вида!

Допустим, есть два типа контента - авторы и книги. И там и там различные поля, но идет сквозная нумерация нод. Т.е. если добавлять вперемежку книги и авторы в качестве ID использовать номер ноды, то последовательного списка книг 1,2,3,4 и т.д. не получится, так же как и не получится последовательного списка авторов: под ID 1 может быть автор, а под ID 2 уже будет книга. А хочется, чтобы была бы книга с ID 1 и был бы автор с ID 1 - каждый в своем типе контента.

Понятно, что это должно быть дополнительное поле, но вот непонятно, как добиться его автозаполнения. Попробовал через CCK и Computed fields, но так и не разобрался, как там решить такую задачку.

Комментарии

Аватар пользователя turok turok 9 мая 2007 в 1:55

Смысл такой хитрой манипуляции в следующем (покажу на примере):

я скрыл тайтл при помщи Автоматик Нодтайтл в нодах определенного типа, например в названии книги. В результате в админке у меня идет длинный список нод с одним и тем же названием "Книга", за которым скрываются описания совсем разных книг.

При этом URl у меня для таких нод генерируется из тайтла, т.е. казалось бы тут должна быть проблема, т.к. адрес для всех этих нод был бы один /kniga. Но хитрый друпал к каждой ноде добавил свой ID, причем этот ID действует только в данном виде контента, т.е. адреса у меня стали kniga-1, kniga-2 и т.д. Правда при этом тайтл у страницы т.е. то, что в теге находится, у меня везде одинаковый - Книга.

Вот я и подумал о том, чтобы завести дополнительное поле, чтобы в нем отражался номер книги внутри всех книг. Его тогда можно было бы, например отображать в чтобы не путаться.

Видимо, теоретически такая возможность должна решаться какими-то штатными средствами, либо средствами каких-то модулей, если сам друпал такую операцию производит автоматически.

В Pathauto готового pattern'а для такого случая я не нашел.

Аватар пользователя PanDa777 PanDa777 9 мая 2007 в 16:41

1. Если вы поставили Automatic Noetitles, то, видимо, названия для вас не важны. То, что [nid] не всегда даёт id ноды - баг Token. По идее, если его нет, то его можно предсказать запросом в базу в таблицу {sequences}. То есть, в данный момент невозможно сделать уникальное имя для каждой книги.
2. Если "URl у меня для таких нод генерируется из тайтла", то у вас, наверное, стоит pathauto. Тогда можно указывать в качестве шаблона - [title]-[nid]. Тогда и в ссылках будет id для всех общий. Не подойдёт?

Аватар пользователя turok turok 10 мая 2007 в 18:42

1. Если вы поставили Automatic Noetitles, то, видимо, названия для вас не важны.
Названия не важны как текст. Т.е. на странице выводится только body, но название в качестве тега важно, т.к. создавать кучу стнаиц с одинаковым не правильно по своей сути.
2. Pathauto действительно стоит. А вот чтобы генерировался общий id в ссылках - это именно и не нравится. Ведь тогда выходит, что у меня ноды из разных категорий будут идти вперемежку. Если же их разделить по таксономии и это-как-то отразить в URL, то тогда наоборот будут дырки в нумерации для кажого вида, а хотелось бы чтобы для одного типа контент шли подряд номера 1,2, 3, и т.д., и для другого аналогично без пропусков.