Meglévő funkció módosítása

Pál úr képe

Üdv,

megpróbáltam a meglévő image modul egy funkcióját kibővíteni. Nevezetesen, hogy a feltöltéskor ne csak kép fájlokat fogadjon el, hanem zip-et is, azt tömörítse ki, és ha talál benne képet, abból csináljon node-okat.

Ez idáig szép is lenne, de az elején már megakadtam.

Ha jól értemlemzem, az image.module fájl 351. sora, a  $form['#submit'][] = 'image_node_form_submit'; sor hívja meg azt a függvényt, ami az űrlap elküldésekor lefut. Én a saját modulomban ezta függvényt szeretném módosítani. Egyelőre ott tartok, hogy hiába hozok létre egy új modult image_zip néven, regisztrálom a modulok között, adom meg függőségének az Image modult, és az image_zip.module fájlban hiába hívom a függvényemet image_zip_node_form_submit($form, &$form_state)-nak, nem tűnik úgy, mintha lefutna (merthogy hiába rakok bele összesen egy echo "xxx"; sort, nem történik semmi).

Mit rontok el?

Köszönöm.

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
eMeLA képe

A saját modulodban a hook_form_alter() részben adj hozzá egy saját függvényt a $form['#submit']-hoz. Ha azt szeretnéd, hogy a sajátod fusson le legelőször akkor az elejére, ha a image_node_form_submit helyett akkor annak helyére tedd.

Az xx_submit()-ban nem fog működni az echo "xxx", hogy miért az a hozzáértők majd leírják. Helyette a drupal_set_message()-t használd.

Az image modulnak része az image_import, az mért nem jó tömeges feltöltésre ?

0
0

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

Pál úr képe

Tehát akkor a modulban kell lennie egy hook_form_alter()-nak? (Van erre valahol példa?)

Az image_import a már feltöltött zip-et tudja beolvasni (ha ugyan tud zip-et). Én meg nem szeretnék ftp-t adni a felhasználóknak...

0
0
Pál úr képe

Hogy tudom elkapni, hogy a $_FILES tömbben mi van?

A

function image_zip_form_alter(&$form, $form_state, $form_id) {
        switch($form_id) {
                case 'image_node_form':
                        $form['#submit'][] = 'image_zip_node_form_submit_zip';
                break;
        }
}
 
function image_zip_node_form_submit_zip($form, &$form_state) {
        global $user;
 
        print_r($_FILES);
 
}

nem ír ki semmit, és ebből következően a
        $source = $_FILES['files']['name']['images'];

is üres... Mit rontok el?
0
0
aboros képe

a submit függvény paramétere a $form, ott van benne minden mező értéke.
tegyél a submitba egy print_r($form) .. meglátod mi van ott.

0
0

-
clear: both;