6 http://www.tanarurkerem.hu/node/436
8 Készíts egy olyan modult, mely segítségével a felhasználó 3 lehetséges szín közül kiválaszthatja,
9 hogy milyen színű legyen a bejegyzés címe amikor létrehozza vagy szerkeszti az adott tartalmat.
13 /* hook_nodeapi() implementáció */
14 function nevergone_3_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
15 /* szétválasztás műveletek szerint */
18 /* node betöltése az adatbázisból: kiegészítő adatok a nevergone_3 táblából */
19 $data= db_fetch_array(db_query("SELECT color FROM {nevergone_3} WHERE nid=%d", $node->nid));
23 /* node megjelenítése a szerkesztés/hozzáadás formon */
24 if (isset($node->nid)) {
25 /* létező node szerkesztése */
29 /* node-ban megadott adatok ellenőrzése mentés előtt */
32 /* szerkesztett node mentése */
35 /* új node létrehozása: adatok nevergone_3 táblába írása */
36 drupal_write_record('nevergone_3', $node);
39 /* node megjelenítése */
40 $node->title = theme('nevergone_3_title', $node->title, $node->color);
49 /* hook_form_alter() implementáció */
50 function nevergone_3_form_alter(&$form, &$form_state, $form_id) {
51 /* ha szerkesztés/hozzáadás formon vagyunk: $form_id változó tartalma (valami)_node_form */
52 if (preg_match('/_node_form$/', $form_id)) {
53 $node = $form['#node'];
54 $form['color'] = array(
56 '#title' => 'Milyen színű legyen a node címe',
59 '' => '- Válassz színt -',
64 /* ha node-ot szerkesztünk, kiválasztjuk a hozzá tartozó színt */
65 '#default_value' => isset($node->color) ? $node->color : '',
72 /* hook_theme implementáció */
73 function nevergone_3_theme($existing, $type, $theme, $path) {
75 'nevergone_3_title' => array( /* sminkeléshez használt függvény neve: theme_nevergone_3_title), és az átadott paraméterek */
85 /* sminkfüggvény a node-cím formázásához */
86 function theme_nevergone_3_title($title, $color) {
89 $color_name = 'piros';
98 $title = '<span class="nevergone_3_' . $color_name . '">' . check_plain($title) . '</span>';