Skapa "konstanta" CCK-nodtyper programmatiskt?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
dag_helstad's picture

Jag funderar på att skriva en modul som kommer att skapa CCK-nodtyper och -fält som en del av installationen. Resten av modulkoden kommer sen använda dessa nodtyper. Då är det viktigt att de inte tas bort eller förändras...

Så till frågorna:

  • Finns det ett "officiellt" API för att programmatiskt skapa CCK-nodtyper? Kollar man på kommentarerna här så verkar tekniken vara att exportera en färdig CCK-nodtyp och sen importera den under installationen. Funkar säkert bra, men det känns lite "hackigt".
  • Finns det nåt sätt att förhindra att en CCK-nodtyp / fält tas bort av användaren?

Comments

Features

Itangalo's picture

På fråga 1 svarar jag "Features". Med Features kan du exportera en färdig nodtyp, och featuren kommer att vara en minimodul som bygger upp nodtypen igen. Byt namn så mycket du vill på den, men behåll kodbiten som bygger upp nodtyp.

På fråga 2 svarar jag "vet inte". Det krävs nog en del ansträningar för att åsidosätta den vanliga behörighetshanteringen -- att få administrera nodtyper är ju att få administrera nodtyper. Men om nodtypen är definierad i kod kommer det åtminstone finnas möjlighet att återställa den om någon klåfingrig typ ändrar på nodtypen.

Det blev ett halvt svar, i alla fall. Lycka till med andra halvan.
//Johan Falk, NodeOne
**
Vill du lära dig mer om Drupal? Kolla in samlingen av tips och guider!
Har du en fråga om Drupal? Missa inte FAQ-sidan på forumet!
Nu finns första Drupalboken på svenska! Börja med Drupal -- smart webbpublicering med open source
Årets bästa Drupalkurs går 4-5 oktober. Kolla in NodeOnes intensiva startkurs!

+1 på features. Det går i

jonne_jvl's picture

+1 på features. Det går i princip att använda samma anrop som features använder direkt, men features är mycket smidigare.
Om du gör en egen modul, så kan du sätta en dependency mot din skapade feature. (en feature = en modul)

  1. Du skulle kunna köra hook_menu_alter, och unsetta eller byta ut "access callback" på just dom urlerna som hanterar cck typ och fält.

Det går fortfarande att avaktivera content typen genom att avinstallera modulen, om anv. har åtkomst till moduladministrationen.

Tack för svaren. Jag ska

dag_helstad's picture

Tack för svaren. Jag ska kolla upp "features"!

/Dag

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week