Új tartalomtípus hozzáadásakor opciók módosítása

knorbi képe

Jelenleg a modulkészítést tanulom, tanulmányozom.
Létrehozom a bundle-t a node_type_set_defaults() függvénnyel. Eddig OK, működik minden.
Az lenne a kérdés, hogyan tudom beállítani a következőket:

  • Publishing options
  • Authoring informations
Drupal verzió: 
eMeLA képe

A node_type_set_defaults() függvénnyel hogy sikerült bármit is létrehoznod?

Ha modulból akarsz új tartalomtípust hozzáadni akkor szerintem azt a hook_node_info()-val kell.

A Publishing options módosítását még érteném, de a Authoring informations-on mit akarsz módosítani?

Itt:
http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook...

Hivatkozik a node_type_save()-re:
http://api.drupal.org/api/drupal/modules!node!node.module/function/node_...

Itt látszik, hogy ezeket a paramétereket a modulból létrehozott tartalomtípusnál nem menti, vagyis (ha jól gondolom) nem is lehet itt megadni. Aztán persze lehet, van valami trükk, hogy lehet ezeket is megadni (pl. megnézni)

Az biztos, hogy pl. a default Publishing options adataokat a variable node_options_TARTALOMTÍPUSNEVE mezőben tárolja a rendszer...

1
0

...mit tudok: http://web.termuves.hu

knorbi képe

méghozzá úgy ahogy az Examples for Developers node_example moduljában, a hook_install()-ban.

De köszönöm, megnézem a hook_node_info()-t is.

Lehet, hogy az Authoring informations-t rosszul írtam (vannak még fogalmi zavaraim - de tanulok), én ezt szeretném módosítani: kép itt

Aha, ez a variable sok érdekes xxx_TARTALOMTÍPUSNEVE mezőt tartalmaz. Ha jól látom olyan formában, ahogy a PHP $_SESSION[] változókat tárolja a webszerver, legalábbis ránézésre úgy néz ki.
De közvetlenül belenyúlni és módosítani ezeket az adatbázisban, háát... nem tudom, hogy ez jó út e.

0
0

Kiss Norbert
adatmentespecs.hu

nevergone képe

„De közvetlenül belenyúlni és módosítani ezeket az adatbázisban, háát... nem tudom, hogy ez jó út e.”

Ha ezeket közvetlenül akarod módosítani, akkor valóban elég sokat kell még tanulnod, hiszen van variable_set() :)

Az Examples for Developers modulban nagyon sok hasznos dolog van, de az alaprendszer kódjában is sok érdekességet találhatsz. :) Illetve számtalan hasznos blogbejegyzés, fórumtéma, kézikönyv-lap illetve nyomtatott könyv is van a témában.

1
-1
eMeLA képe

Nem ez volt a kérdésed, de picit elgondolkodtam, vajon miért is akarsz tartalomtípust modulból létrehozni. Ha egy komplex egyedi modul fejlesztésébe fog az ember akkor talán van értelme, egyébként megérzésem szerint nem sok...

Ha az ismerkedés és a tanulás a cél, tapasztalatból azt tudom mondani, hogy érdemes körüljárni, hogyan tudod a form-okat saját modulból testre szabni (hook_form_alter). Hogyan lehet új field-et modulból létrehozni (hook_field_info) és hozzá megjelenítést készíteni (hook_field_formatter_info). Aztán ott van az egyedi token (hook_token_info) ami sokszor hasznos. Aztán érdemes körbejárni, hogy lehet beépülni a views-ba is.

Nekem ezekre volt legtöbbször szükségem, sokszor egy-egy ilyen kis modullal akár komplexebb modulokat vagy akár több modult is ki lehet váltani. Persze a sor lehetne még folytatni...

A függvényeket csak kiindulási pontnak írtam le. Érdemes a http://api.drupal.org/api/drupal/7 oldalt nézegetni. Illetve a már kész modulokból tanulni, ahogy azt nevergone is írta.

2
0

...mit tudok: http://web.termuves.hu