Sziasztok!
Van 3 modulom ami egy csoportba tartozik. Azt szeretném elérni, hogy az admin oldalon belül a configuration menüben megjelenjenek egy kategóriában. Ezt miként tudom elérni?
function gft_api_menu() { $items['admin/config/gft'] = array( 'title' => 'GFT settings', 'description' => 'GFT API settings', 'page callback' => 'system_admin_menu_block_page', 'access arguments' => array('administer site configuration'), 'position' => 'right', 'weight' => -20, 'type' => MENU_NORMAL_ITEM, 'file' => 'system.admin.inc', 'file path' => drupal_get_path('module', 'system'), ); $items['admin/config/gft/api'] = array( 'title' => 'GFT API settings', 'description' => 'GFT API settings', 'page callback' => 'drupal_get_form', 'page arguments' => array('gft_api_admin_settings'), 'access arguments' => array('administer site configuration'), 'file' => 'gft_api.admin.inc', ); $items['forex'] = array( 'title' => 'GFT Forex', 'description' => 'Display forex symbols', 'access callback' => TRUE, 'page callback' => 'gft_api_page', 'type' => MENU_CALLBACK, ); return $items; }
Ez létrehozza a GFT API csoportot és azon belül megjelenik a GFT API Settings.
A következő modul hook_menu() -je így néz ki:
function gft_kamatrata_menu() { $items['admin/config/gft'] = array( 'title' => 'GFT settings', 'description' => 'GFT API settings', 'page callback' => 'system_admin_menu_block_page', 'access arguments' => array('administer site configuration'), 'position' => 'right', 'weight' => -20, 'type' => MENU_NORMAL_ITEM, 'file' => 'system.admin.inc', 'file path' => drupal_get_path('module', 'system'), ); $items['admin/config/gft/gft-kamatrata'] = array( 'title' => 'GFT Kamatráta', 'description' => 'GFT Kamatráta', 'page callback' => 'drupal_get_form', 'page arguments' => array('gft_kamatrata_admin_settings'), 'access arguments' => array('administer site configuration'), 'file' => 'gft_kamatrata.admin.inc', ); $items['kamatrata'] = array( 'title' => 'Kamatráta', 'access callback' => TRUE, 'page callback' => 'gft_kamatrata_page', ); return $items; }
Hogyan tudom elérni, hogy a GFT API modul által létrehozott csoportba pakolja be magát? Mert így egyáltalán nem jelenik meg az admin/config oldalán a GFT Kamatráta. Nem hogy egy azon csoportban, de egyáltalán nem.
Drupal verzió:
Fórum:
UTF-8 BOM nélkül
Hali!
Az
admin/config/gft
útvonalat elég egyszer regisztrálni.A lényegre: kipróbáltam, először az én tesztoldalamon sem jelent meg; ezután NÁLAM annyi volt a megoldás, hogy Notepad++-szal konvertálni kellett UTF-8-ra BOM nélkül magának a modulnak a fájlját (ANSI-ról), ahol a hook_menu() szerepel (ékezetet tartalmaz, lásd "GFT Kamatráta"), majd törölni a cache-t. Így már megjelent az új menüpont is (ld. jobb oldalt):
Köszi szépen
rávezettél a megoldásra. A probléma egyébként nekem nem a karakterkódolás volt, hanem nem tetszett neki a kötőjel
$items['admin/config/gft/gft-kamatrata'] = array(....
helyett$items['admin/config/gft/kamatrata'] = array(....
kellett. Így már megjelennek a menüpontok.Még egyszer köszönöm!
Fura, h a kötőjel volt a gond az útvonalnál, de öröm, h solved!
Nincs mit!
Hmm, ez furcsa, hogy a kötőjel nem működik, én úgy tudom, annak gond nélkül kellene mennie, én legalábbis hoztam már létre kötőjellel útvonalat, és azzal nem volt probléma.
A karakterkódolás hibája viszont kifejezetten megfigyelhető volt, amikor az általad mutatott kódot kipróbáltam, nálam tényleg nem jelent meg a menüpont egész addig, amíg Notepad++ szerint hagyományos ANSI volt a kódolás, és a címben ékezetes karaktereket használtam - pedig cache-t is töröltem. Amint konvertáltam UTF-8-ra (BOM nélkül persze), és cache-t ürítettem, akkor már megjelent.
De a lényeg, hogy sikerült! :)
Szerk.:
most izgatott a dolog, ezért kipróbáltam egy kötőjeles útvonalat a Te kódod alapján, és azzal semmi probléma nincsen.
Felhasználtam a Te kódodat így, hogy beleraktam egy kötőjelet az úvonalba:
A
testModule.admin.inc
fájlban a test_output() függvény tartalma meg csak ennyi:Itt egy screenshot arról, hogy működik:
Szóval őszintén szólva én most nem értem, hogyhogy nálad a kötőjel volt a gond. :)
Biztos nem az említett karakterkódolással vagy ehhez hasonlóval van összefüggésben?
Nem igazán tudom
pontosan, hogy mi okozta a problémát, mert megnyitottam a fileokat notepad++-ban ahogy írtad és nekem alapból UTF-8 without BOM volt a kódolás. Aptana Studioban fejlesztek és ott ez van beállítva alapból.
Ezek után én a következőket tettem. Átállítottam ANSI-ra majd vissza UTF-8 ra mentettem, uninstall , clear cache, install és nem jelent meg. Amint kiszedtem a kötőjelet és végigcsináltam a fenti lépés sort már megjelent.
Nah most hozzátenném, hogy nagyjából 2 hete foglalkozom drupal fejlesztéssel főleg moduláris szinten így lehetséges, hogy alapból valami rossz volt a modulomban ami miatt nem tetszett neki a kérdőjel, de mindenesetre most működik. Legalábbis ami modul megjelenését illeti a menüben :D
Életre még nem tudom kelteni :( pedig "csak" drupal 6-ról kéne átírni 7-re :D
Hm
Hm, hát ha alapból UTF-8 volt BOM nélkül, akkor az úgy jó, az a helyes (NetBeans is ezt hozza létre alapból).
Egyébként engem meg szokott lepni, hogy a Notepad++ szerint legalábbis alapból ANSI a kódolása a Drupal core fájloknak, hogy ez vajon miért van.
Na mindegy, hogy a konkrét témára térjek, Notepad++-ban a sima karakterkódolások közti "átkapcsolások" helyett érdemes inkább a konvertálásra menni (alatta van párral), hogy ne okozzon gondot.
Pl. ha egy ékezetes karaktereket tartalmazó UTF-8 szöveget "átkapcsolsz" csak simán - konvertálás helyett - ANSI-ra, akkor elég randák lesznek az ékezetes karakterek.
"lehetséges, hogy alapból valami rossz volt a modulomban ami miatt nem tetszett neki a kérdőjel"
Mármint itt gondolom a kötőjelre gondoltál.
A D6-ról D7-re konvertálással kapcsolatos kérdéseidet esetleg feltehetnéd külön szálban, addig is, hátha ennek hasznát veszed:
http://drupal.hu/comment/63205#comment-63205
Köszi
Köszi a tippeket és igen a kötőjelre gondoltam. :) Már raktam ki külön kérdést. :) amit linkeltél, meg használom is a javát sikerült átírnom vele. :) Itt van ami nem működik: http://drupal.hu/forum/sql-lek%C3%A9rdez%C3%A9s-hiba/15897
Nincs mit
Nincs mit, és bocs, az ezelőtti hozzászólásomnál nem figyeltem rá, hogy éppen Te kérdeztél abban a topicban, amit belinkeltem. :))
Egyébként majd ha van egy kis plusz időd, akkor próbáld meg kikísérletezni, mi lehet az oka, hogy kötőjellel nem működik, és biztos-e, hogy az a probléma okozója, nem az ékezetes karakterrel volt-e a gond; engem legalábbis nagyon izgat a dolog, hogy mi lehet a háttérben. :)