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: törlés és adatbázisból majd újra felvitel */
33 db_query("DELETE FROM {nevergone_3} WHERE nid=%d", $node->nid);
34 drupal_write_record('nevergone_3', $node);
37 /* új node létrehozása: adatok nevergone_3 táblába írása */
38 drupal_write_record('nevergone_3', $node);
41 /* node megjelenítése */
42 drupal_set_title(theme('nevergone_3_title', $node->title, $node->color));
43 drupal_add_css(drupal_get_path('module', 'nevergone_3') . '/nevergone_3.css');
47 db_query("DELETE FROM {nevergone_3} WHERE nid=%d", $node->nid);
53 /* hook_form_alter() implementáció */
54 function nevergone_3_form_alter(&$form, &$form_state, $form_id) {
55 /* ha szerkesztés/hozzáadás formon vagyunk: $form_id változó tartalma (valami)_node_form */
56 if (preg_match('/_node_form$/', $form_id)) {
57 $node = $form['#node'];
58 $form['color'] = array(
60 '#title' => 'Milyen színű legyen a node címe',
63 '' => '- Válassz színt -',
68 /* ha node-ot szerkesztünk, kiválasztjuk a hozzá tartozó színt */
69 '#default_value' => isset($node->color) ? $node->color : '',
76 /* hook_theme implementáció */
77 function nevergone_3_theme($existing, $type, $theme, $path) {
79 'nevergone_3_title' => array( /* sminkeléshez használt függvény neve: theme_nevergone_3_title), és az átadott paraméterek */
89 /* sminkfüggvény a node-cím formázásához */
90 function theme_nevergone_3_title($title, $color) {
94 $color_name = 'piros';
103 $title = '<span class="nevergone_3_' . $color_name . '">' . check_plain($title) . '</span>';