ez az egyik megoldás
Mivel egy saját tartalom típusról van szó, amit típus szerint sminkelünk, elég az is, ha a hurokban megadjuk az útvonalat.
<?php /** * Implementation of hook_theme(). */ function mymodule_theme($existing, $type, $theme, $path) { return array( 'node' => array( 'arguments' => array('node' => NULL, 'teaser' => FALSE, 'page' => FALSE), 'template' => 'node', 'path' => drupal_get_path('module', 'mymodule'), ), ); } ?>
Innentől kezdve elég, ha a modul mappájában ott a node-reklam.tpl.php
, a reklam
típusú tartalmakhoz azt fogja használni, ha a smink mappájában nincs ilyen. Az olvasottakból kiindulva nyílván nem lesz.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Az argumentumig ok. A default
Az argumentumig ok.
A default argument legyen php kód, illetve az argumentum beállításoknál legyen bepipálva a több érték elfogadása.
Ilyen formátumot kell kihozni a php kód returnjában: 1+3
Valami ilyesmi lesz:
if (arg(0) == 'node' && is_numeric(arg(1))) { $args = array(arg(1)) ; if ($nodes = translation_node_get_translations(arg(1))) { foreach ($nodes as $node) { $args[] = $node->nid; } } return implode($args, '+') ; }
Namármost ez egy ilyen fejből kód, tehát szinte biztos, hogy reszelni kell rajta. Kapcsold be a php kód blokkot valahol az oldal alján, rámész a node/1-re, és ott próbálgathatod addig, amíg 1+3 nem lesz a vége.
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Milyen az eredeti kód?
Szia!
Nem lehet, hogy az eredeti kód az egy kicsit más milyen? Csak a fórum kedvéért egy kicsit átírtad.
Első ránézésre azt mondanám hogy az admin/valami/edit útvonal típusa legyen inkább MENU_NORMAL_ITEM. (kicsi az esély hogy segít.)
Amit inkább furcsának látok az a drupal_get_form() függvénynek átadott paraméterek.
Ezt érdemes megnézni hook_forms().
Ez alapján így kéne kinéznie:
function mymodule_forms() { $forms['mymodule_a_form'] = array( 'callback' => 'mymodule_a_form', ); $forms['mymodule_b_form'] = array( 'callback' => 'mymodule_b_form', ); $forms['mymodule_c_form'] = array( 'callback' => 'mymodule_c_form', ); return $forms; } function mymodule_a_form() { } function mymodule_a_form_validate($form_id, $edit, $form) { } function mymodule_a_form_submit($form_id, $edit) { } function mymodule_b_form() { } function mymodule_b_form_validate($form_id, $edit, $form) { } function mymodule_b_form_submit($form_id, $edit) { } function mymodule_c_form() { } function mymodule_c_form_validate($form_id, $edit, $form) { } function mymodule_c_form_submit($form_id, $edit) { }
A fentiek tükrében a hook_menu()-t is módosítani kell.
function mymodule_menu($may_cache) { //... $items[] = array( 'path' => 'admin/valami/edit/ful3', 'type' => MENU_LOCAL_TASK, 'title' => t('3'), 'callback' => 'drupal_get_form', 'callback arguments' => array('mymodule_c_form'), ); //... }
Eddig ugyan az mint a te kódod csak más nevekkel.
/admin/valami/edit/[id] címen lehet elérni, ahol az [id] egy szám.
Hiányzik az azonosítók kezelése.
Például az admin/valami/edit/51 útvonal kezelése ugyan az lesz mint a admin/valami/edit útvonal kezelése.
Ha szeretnéd külön kezelni
function mymodule_menu($may_cache) { if(!$may_cache) { if($arg3 = arg(3) AND is_numeric($arg3)) { //Lekérdezni hogy a $arg3-ban lévő szám az valóban egy érvényes azonosító-e $items[] = array ( 'path' => "admin/valami/edit/$arg3", 'callback' => 'drupal_get_form', 'callback arguments' => array('mymodule_a_form', $arg3), ); } } } function mymodule_a_form() { $form = array(); foreach(func_get_args() as $index => $arg) { $form[$index] = array ( '#type' => 'item', '#title' => "Argument $index = ", '#value' => '<pre>' . htmlentities(print_r($arg, true)) . '</pre>', ); } return $form; }
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
az alkönyvtár nevét szeretnéd
az alkönyvtár nevét szeretnéd inkább eltüntetni a honlap url-jéből, ugye?
megadod a settings.php-ban a $base_url-hez a http://domainname.hu/ domaint:
$base_url = 'http://www.example.com'; // NO trailing slash!
továbbá a .htaccess fájlban kiveszed a kommentből - azaz törlöd a # jelet - a RewriteBase /drupal
sornál
(értelmezés és magyarázat hozzá magukban a fájlokban)
... így működik a drupal egy könyvtárból
a drupal abszolút áthelyezhető, költöztethető, alatta a mappa átnevezhető
(csak a belegányolt direkt linkek törnek :-)
Geva
----- Számítások - Kalkulátorok
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
egyedül az 'eredeti méret'
egyedül az 'eredeti méret' fölött siklottam át.
- a képminőséget 100%-ra a feltöltés előtt vagy után állítottad be?
- ha utána akkor lehet, hogy érdemes újra feltölteni a képeket
- a képminőség beállítása után ürítettél cache-t?
- chrome-ban vagy firefoxban jobb gomb a képre és "Elem vizsgálata"
--
-- ez megmutatja neked, hogy ténylegesen melyik fájl van ott (útvonal)
-- mekkora a kép eredeti mérete
-- mekkorára van esetleg átméretezve a böngészőben
rövid guglizás után kiderült, hogy másnak is volt hasonló problémája, a cache űrítés és újra feltöltés volt általában megoldás, illetve egy olyan is van, hogy kétszeres méretűt töltesz fel, mint amire végül szükséged lesz. Pl. tudod, hogy 200x200-as kép fog megjelenni, akkor 400x400-ast készítesz, töltesz fel és méretezteted 200x200-ra.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Tipp: Az imce modul
Tipp: Az imce modul elejéről szedd ki a felesleges karaktert