modifiche al block.module

8 contenuti / 0 new
Ultimo contenuto
Anonimo (non verificato)
Ritratto di Anonimo
modifiche al block.module

Ho scaricato una patch per drupal 4.5
che permetteva di nascondere un qualsiasi blocco-menu agli utenti anonimi.
Esattamente quello che serviva a me.

http://drupal.org/node/12168
http://drupal.org/files/issues/block_0.patch

Aggiungendo nella tabella blocks il seguente campo:

("ALTER TABLE `blocks` ADD `hidden` TINYINT( 2 ) DEFAULT '0' NOT NULL ")

e facendo le seguenti modifiche al modulo "block.module",
comparirà sullo schermo, andando su: amministra -> blocchi, un casellina di spunta che permetterà di nascondere un blocco qualsiasi agli utenti anonimi.

Con alcune modifiche sono riuscito a far girare questa patch
anche su Drupal 4.6.3 senza problemi.
Se qualcun'altro volesse provare cosi mi potete dire se funziona tutto bene, da me sembra funzionare tutto bene...
Suggerimenti?

Cerco di contribuire come posso sperando poi che qualcuno possa rispondere anche alle mie domande sul forum... :-)

Ciao
Davide

115: + db_query("UPDATE {blocks} SET region = %d, status = %d, hidden = %d, weight = %d, throttle = %d WHERE module = '%s' AND delta = '%s'",
115: - db_query("UPDATE {blocks} SET region = %d, status = %d, weight = %d, throttle = %d WHERE module = '%s' AND delta = '%s'",

116: + $block['region'], $block['status'], $block['hidden'], $block['weight'], $block['throttle'], $module, $delta);
116: - $block['region'], $block['status'], $block['weight'], $block['throttle'], $module, $delta);

149: + $block['hidden'] = $old_blocks[$module][$delta]->hidden;

159: + $block['status'] = $block['weight'] = $block['region'] = $block['custom'] = $block['hidden'] = 0;
159: - $block['status'] = $block['weight'] = $block['region'] = $block['custom'] = 0;

164: + db_query("INSERT INTO {blocks} (module, delta, status, hidden, weight, region, visibility, pages, custom, throttle, types) VALUES ('%s', '%s', %d, %d, %d, %d, %d, '%s', %d, %d, '%s')",
164: - db_query("INSERT INTO {blocks} (module, delta, status, weight, region, visibility, pages, custom, throttle, types) VALUES ('%s', '%s', %d, %d, %d, %d, '%s', %d, %d, '%s')",

165: + $block['module'], $block['delta'], $block['status'], $block['hidden'], $block['weight'], $block['region'], $block['visibility'], $block['pages'], $block['custom'], $block['throttle'], $block['types']);
165: - $block['module'], $block['delta'], $block['status'], $block['weight'], $block['region'], $block['visibility'], $block['pages'], $block['custom'], $block['throttle'], $block['types']);

187: + $header = array(t('Block'), t('Enabled'), t('Hidden'), t('Weight'), t('Sidebar'));
187: - $header = array(t('Block'), t('Enabled'), t('Weight'), t('Sidebar'));

206: + form_checkbox(NULL, $block['module'] .']['. $block['delta'] .'][hidden', 1, $block['hidden']),

458: + if ($user->uid != '0') {
459: $result = db_query("SELECT * FROM {blocks} WHERE status = 1 AND region IN (%s) ORDER BY weight, module", $regions[$region]);
460: + } else {
461: + $result = db_query("SELECT * FROM {blocks} WHERE status = 1 AND hidden = 0 AND region IN (%s) ORDER BY weight, module", $regions[$region]);
462: + }

Dove possiamo provare ????

Matteo

mi dispiace ma non ho preparato una demo di questa patch.
Se volete vi mando vie email il "block.module" zippato con le modifiche, ditemi a chi lo devo mandare e ve lo mando.
Dopodichè bisogna che provate la patch in locale sul vostro pc.

Ma perchè gli autori di www.drupalitalia.org non creano un'area
dedicata alle patch e alle personalizzazioni di drupal???
In modo che ciascun utente possa uplodare la patch, eventuali screenshoots della patch e una breve descrizione.

Cosi ciascun utente puo' uppare le proprie patch qui sul vostro sito.

SECONDO ME E' FONDAMENTALE..

Ciao
Davide

mhmm...

credo che per questo genere di cose sia meglio utilizzare il
sito ufficiale inglese (drupal.org).

In questo modo tutte le patch sono in una zona centralizzata
e non si rischia di perdere le patch in giro per il web.

Fabio

----
My websites adrenalinteam.it - windsmpeg.tk - falcoarredamenti.it

Era esattamente quello che stavo cercando, perché ho creato un blocco Amministrazione che raccoglie le voci di amministrazione, appunto, mentre nel blocco Navigazione volevo lasciare soltanto le vere e proprie voci per navigare nei contenuti e nel proprio profilo.

Ora ho solo il problema di applicare la patch, ma lo risolverò.

Tra parentesi, dov'è che Drupal configura che al posto di Navigazione si veda il nome utente? E dove si configura il blocco Login?

...enter at your own risk...

Davide per favore mi puoi lasciare un recapito di mail o di messenger?

Avrei bisogno di alcuni suggerimenti e dritte.

Grazie

[Sono ateo grazie a Dio - Luis Bunuel]

...enter at your own risk...

Scusase se non ti ho risposto subito ma ero indaffaratissimo (sono passati quattro mesi! non me ne ero accorto..)

Io la patch che ti ho mostrato l'ho applicata a mano.. sigh. :-(
Tu vorresti applicare la patch automaticamente, ma bisogna prepararla
con quel programmino.. e non ho avuto ancora il tempo di farlo.

Drupal configura AUTOMATICAMENTE che al posto di Navigazione si veda il nome utente quando uno entra. Non mi risulta che si possa cambiare dal menu di ammistrazione. Bisogna intervenire sul codice PHP ma non ho mai provato a fare una modifica per questa cosa. Se sai come si fa fammelo sapere, grazie. :-)

Ho attivato il personal contact form dal mio profilo quindi in teoria potresti mandarmi da questo sito una email indirizzata a me, solo che in questo momento in cui scrivo il mio indirizzo email per qualche giorno ancora non funziona perchè me lo stanno mettendo a posto, e presto si rimetterà a funzionare.

Ciao
Davide

Infatti ho provato a scriverti e la mail mi è tornata indietro.
Riproverò.
Se invece hai contatto messenger o simile mi fai felice.

[Sono ateo grazie a Dio - Luis Bunuel]

...enter at your own risk...