Autor Zpráva
zero0x
Profil
neviete niekto aspon strucne opisat funkcnost drupalu?

konkretne tie moduly, planujem si jeden velky system a chcem tam nieco podobne, ze sa iba nakopiruje a potom automaticky nainstaluje..

problem je, ze vobec netusim ako to u nich funguje. neviete o tom nieco?? pls
michalc
Profil
Drupal je založený na modulech, jak píšeš. Jednoduše si vybereš modul na http://drupal.org, stáhneš pro svojí verzi drupalu a zkopíruješ do složky /modules . V Administraci => Moduly si najdeš přidaný modul, vlevo do jeho názvu ho zatrhneš a tak se nainstaluje. Pak už jenom správně nakonfiguruješ.
Mám nějaké zkušenosti, takže kdyžtak ti pomůžu.
zero0x
Profil
nj, ale ja sa na to nepozeram ako uzivatel, ale ako koder

takyto system modulov by sa mi hodil, teda chystam sa urobit si vlastny system..

a drupal to ma vynikajuco vyriesene...
BetaCam
Profil
nj, ale ja sa na to nepozeram ako uzivatel, ale ako koder
takyto system modulov by sa mi hodil, teda chystam sa urobit si vlastny system..
a drupal to ma vynikajuco vyriesene...


Pokud se nepletu tak Drupal je OpenSource takže opravdu nechapu co ti brání kouknout se do zdrojáků drupalu a tam si zjistit jak to maj vyřesené.
zero0x
Profil
brani mi v tom nedostatok casu, a tymto sposobom skusam ci to niekto nerobil uz predo mnou
Mastodont
Profil
zero0x

Na webu Drupalu se dá najít návod na psaní modulu.
zero0x
Profil
super, aj to pomoze, aj ked mna zaujima skor ako dokaze drupal zaclenit modul, ktory sa sklada z 2 suborov do funkcnosti stranky
lucas
Profil *
Nepoznam Drupal, ale ked som sa naposledy pokusal riesit nieco vacsie s modulmi, tak stale to skoncilo pri tom, ze ked bolo potrebne doplnit / zmenit / vymazat stlpce v tabulke, tak trebalo zmenit aj PHP triedy a vsetky dalsie zlozitejsie prepojenia.
Jednoduchsie moduly, ktore nevyzaduju velke zmeny v SQL su OK. Nakopiruju sa triedy ... vytvoria sa nove tabulky a vsetko bezi.

Nenasiel som sposob ako robit vsetky moduly univerzalne... :-(
Jur4
Profil
Modul v drupalu je vlastně sestava funkci, tzv. hooku. Ty funkce se obecně zapisují třeba hook_link() přičemž v každém modulu je hook nahrazen jménem modulu. Klíčovou funkci u každého modulu je funkce hook_menu() kde se pro každou systémovou cestu definují callbacky (funkce, ktere se zavolají když je zadaná cesta zavolána). Tady je příklad jak to může vypadat.


function book_menu($may_cache) {
$items = array();

if ($may_cache) {
$items[] = array(
'path' => 'admin/content/book',
'title' => t('Books'),
'description' => t("Manage site's books and orphaned book pages."),
'callback' => 'book_admin',
'access' => user_access('administer nodes'));
$items[] = array(
'path' => 'admin/content/book/list',
'title' => t('List'),
'type' => MENU_DEFAULT_LOCAL_TASK);
$items[] = array(
'path' => 'admin/content/book/orphan',
'title' => t('Orphan pages'),
'callback' => 'drupal_get_form',
'callback arguments' => array('book_admin_orphan'),
'type' => MENU_LOCAL_TASK,
'weight' => 8);
$items[] = array(
'path' => 'book',
'title' => t('Books'),
'callback' => 'book_render',
'access' => user_access('access content'),
'type' => MENU_SUGGESTED_ITEM);
$items[] = array(
'path' => 'book/export',
'callback' => 'book_export',
'access' => user_access('access content'),
'type' => MENU_CALLBACK);
}
else {
// Add the CSS for this module
// We put this in !$may_cache so it's only added once per request
drupal_add_css(drupal_get_path('module', 'book') .'/book.css');

// To avoid SQL overhead, check whether we are on a node page and whether the
// user is allowed to outline posts in books.
if (arg(0) == 'node' && is_numeric(arg(1)) && user_access('outline posts in books')) {
// Only add the outline-tab for non-book pages:
$result = db_query(db_rewrite_sql("SELECT n.nid FROM {node} n WHERE n.nid = %d AND n.type != 'book'"), arg(1));
if (db_num_rows($result) > 0) {
$items[] = array(
'path' => 'node/'. arg(1) .'/outline',
'title' => t('Outline'),
'callback' => 'drupal_get_form',
'callback arguments' => array('book_outline', arg(1)),
'access' => user_access('outline posts in books'),
'type' => MENU_LOCAL_TASK,
'weight' => 2);
}
}
}

return $items;
}


Každá definice callbacku má navíc několik dalších parametrů jak je vidět na ukázce. Myslím že by bylo zbytečne to vysvětlovat na api.drupal.org se dozvíš podrobnosti. Systém hooku je dost obsáhlý a více se dozvíš na api.drupal.org/api/5/group/hooks.

Návíc doporučuju prohlednout drupal form api a systém nodů, toto jsou totiž věci s vyvojem modulu uzce spojené vice se dozviš na adrese jak jsem už psal.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0