Saját modul és meglevő modul összeillesztése.

gyuxton képe

Sziasztok.
A következő problémám lenne:
Készítettem (sok segítséggel!!- amit nagyon szépen köszönöm mindenkinek) saját modult, ami AJAX-os, Ha kiválasztom a kerületet, akkor kitölti az utcákat…
Szeretnék képeket is feltölteni, amire pedig a CCK FileField Image modul teljesen megfelelne. Létrehoztam saját tartalom típust is. Most a problémám az lenne, hogy a saját modult és a saját tartalomtípust össze kellene valahogy hozni. A saját tartalomtípusba valahogy bele lehet helyezni a saját modulom kódrészleteit? Vagy a saját modulba bele lehet-e tenni CCK FileField Image modult azon részét, ami a kép feltöltéssel és megjelenítéssel foglalkozik? Kérnék valami támpontot, amin el lehetne indulni. Köszönöm szépen a hozzászólásokat és a segítséget!

Drupal verzió: 
sgabe képe

első nekifutásra, hogy a tartalom típusodat a modullal hozod létre, mindenesetre a leírásodból számomra nem derül ki, hogy a modulod mit szeretne kezdeni a képfeltöltéssel

0
0
gyuxton képe

Köszönöm szépen.
Modulomat a http://palocz.hu/node/192 alapján készítettem. Egyelőre kiválasztom a várost, majd a kerületet és az utcát select box-ból, majd utánna szeretnék képeket hozzákapcsolni. Tehát olyan lenne mint egy ingatlan nyilvántartás. Nos az adatokat kiválasztom, de még a képeket hozzá kell csatolni.

0
0
eMeLA képe

A modulod úgy kell továbbalakítani, hogy egy CCK field-et hozzon létre. Ezt utána be tudod illeszteni akármelyik tartalomtípusba. Itt már mellé tudod tenni az ImageField-et is.

Itt el tudsz indulni: http://drupal.org/node/101742

0
0

...mit tudok: http://web.termuves.hu

gyuxton képe

Köszönöm szépen. Ez most ez új nekem. No, de nem adom fel, ha már eddig eljutottam :)

0
0
gyuxton képe

Ezt nem lehet valahogy automatizálni? Devel modul nem ilyen valamire használható? Bár lehet nem jól tudom...

0
0
gyuxton képe

Köszönöm szépen. Nézegettem a dolgokat, de bevallom kicsit nehézkes számomra a megértése.
Szeretném egy számomra érthető kódon megérteni a CCK modul fejlesztését. Vegyünk egy egyszerű modult, ami nem tesz mást csak feltölt egy select boxot az adatbázisból. Ezen el tudnád magyarázni, hogy hogyan kell elkészíteni a CCK modult?
Nagyon nagy segítség lenne nekem is, meg majd azoknak is akik ezzel a problémával kerülnek szembe.
Köszönöm szépen!
A kódom a következő:

// $Id$
 
global $list;
function formproba_menu() {
  $items = array();
global $ker;
 
 
    $items['formproba'] = array(
      'page callback' => 'formproba_page',
      'title' => 'Form próba',
      'access arguments' => array('access content'),
      );
    $items['formproba/varosok/%'] = array(
      'page callback' => 'formproba_varosok',
      'page arguments' => array(2),
      'access arguments' => array('access content'),
      'type' => MENU_CALLBACK);
  return $items;
}
 
function formproba_page() {
  drupal_add_js(drupal_get_path('module', 'formproba') .'/formproba.js');
  return drupal_get_form('formproba_form');
}
 
function formproba_form($form_state) {
  $form['select1'] = array(
    '#type' => 'select',
    '#title' => 'Város',
    '#default_value' => 1,
    '#options' => isset($form_state['post']['select1'])?formproba_get_select1($form_state['post']['select1']):formproba_get_select1(1),
  );
  return $form;
}
//városok
function formproba_varosok() {
  drupal_json(formproba_get_select1());
}
/// varosok
function formproba_get_select1() {
  $queryResults = db_query("SELECT VID,NEV FROM kozteruletek.varos");
$list = array();
while($line = db_fetch_object($queryResults))
{
 $list[$line->VID]= $line->NEV;
}
 return $list;
}
0
0
pp képe

Két alapvető lehetőséged van, ha a node-ot adatelemmel akarod kibővíteni.
1. hook_form_alter és hook_nodeapi függvényekkel
2. CCK-val.

Az elsőre példát láthatsz az api.drupal.org webhelyen a másikra pedig az Emela által linkelt oldalon. (az első a listában)

Ha CCK-ba vágsz bele akkor tudnod kell, hogy sokat kell dolgoznod vele, ugyanis általánosítanod kell egy probléma megoldását. Kezdetben javaslom az első módszer használatát és ha már nagyon megy az és tökéletesen érted a Drupal mechanizmust utána érdemes belevágni a CCK-ba.

Mindkét módszernél két dologra lesz szükséged.
Egy "beviteli eszközre" vagy widget-re, ami segítségével beviszi felhasználó az adatot. Ez egy egyszerű szövegdoboztól egészen bonyolult több részből álló Ajaxos csodákat tartalmazó komplexumig minden lehet. Ezt az első megoldásban a hook_form_alter függvénnyel, míg a CCK megoldásnál a hook_widget kezdetű függvényekkel tudod megadni.
A másik amire szükséged lesz az az adatbázisba mentés. Ezt az elsőnél a hook_nodeapi függvénnyel, míg a CCK-nál a hook_filed kezdetű függvényekkel tudod megadni.

Az első a nézet/view a második a(z adat) modell a vezérlést a Drupal azon belül a node vagy CCK modulok adják. (ha mond valamit az MVC modell ugye.)

pp

0
0
gyuxton képe

Nagyon szépen köszönöm. Tehát ha jól értelmezem, a következő lépések vannak:
1. Létrehozom a saját tartalom típust.
2. Létrehozom a saját modulom, amit megszeretnék jeleníteni a saját tartalom típuson.
3. Saját modulba kell elhelyezni a hook_form_alter és hook_nodeapi függvényeket. Itt kell megadni a tartalom típusom node-jét.
4. Nézetben meg tudom jeleníteni.

0
0
lovranits képe

Sziasztok egy oylan kérdésem lenne, hogy hogyan kell egy általam készített modult publikálni drupal.org-on. Előre is köszönöm a segítséget.

0
0
hosszu.kalman képe

Szia!

Ezen a fórumon úgy szokás, hogy minden új kérdésnek új témát nyitunk, így rendezett marad. Ezért kérlek a kérdésednek nyiss egy új témát.

Köszönöm!

0
0