visualizzazione slideshow marinelli
Salve.
E' possibile, con marinelli, impostare la visualizzazione di determinati banner nella slideshow (principale, quella del tema) in maniera avanzata? Nel senso... NON impostare nodo per nodo dov'è che si intende visualizzare un banner, ma escluderne la visualizzazione in pagine con determinati tipi di contenuto oppure renderlo visibile sia in pagine con determinati tipi di contenuto, sia nella home o (a titolo di esempio) durante la procedura di registrazione utente?

Risposte
Si è possibile: Il tema
Si è possibile:
Il tema marinelli (e drupal) funziona con l'hook _preprocessor_page(&$vars) nel file template.php
In questa funzione ci sono le strutture condizionali su dove mostrare i banner.
ad esempio alla riga 127 di template.php si può aggiungere:
// qui indico se il tipo di contenuto è blog if ($banners && theme_get_setting('banner_showin_typecontent') && $vars['node']->type == 'blog') { // Banners section ... ... } // oppure solamente if ($banners && $vars['node']->type == 'blog') { ... }oppure:
// qui indico se il nodo è prodotto if ((arg(0) == 'node') && (arg(1) == 'add' && arg(2) == 'product')) { ... }Nel file theme-settings.php ci sono le variabili impostabili da interfaccia.
Il requisito è conoscere il php e drupal.
Ciò che vorrei è SCEGLIERE il
Ciò che vorrei è SCEGLIERE il tipo di banner da visualizzare in determinate pagine (con determinati tipi di contenuto, con contenuti creati da determinati utenti ecc...)
Si, ho capito per questo ti
Si, ho capito per questo ti ho messo il codice. Se il tema marinelli non ha la funzionalità che desideri, ed in effetti sembra che nonce l'abbia, bisogna scrivere il codice e io ti ho mostrato come fare.
Non so tu che livello hai...
Ti ripeto dentro la funzione marinelli_preprocess_page aaal riga 13 del file template.php puoi aggiungere
il tuo codice custom.
Volevo chiedere: sei andato nella configurazione del tema?
admin/appearance/settings/marinelli
Home >> Administration >> Appearance >> Settings >> Marinelli
puoi impostare la visibilità pertipo di contenuto e pagina. Ti mancherebbe solo la visibilità per utente.
Quindi ila funzione cambierebbe alla riga 124 di template.php diventa (in grassetto il codice aggiunto/modificato)
function marinelli_preprocess_page(&$vars) { // Useful for devel default banners, remove before commit // variable_del('theme_marinelli_first_install'); // Chcek if is first setup of marinelli and install banners. if (variable_get('theme_marinelli_first_install', TRUE)) { include_once('theme-settings.php'); _marinelli_install(); } // solo per il debug drupal_set_message('<pre>'. print_r($vars, TRUE) .'</pre>'); // stores single sidebar presence into a variable $vars['exception'] = ""; if($vars['page']['sidebar_second']) { $vars['exception'] = 2; } else if($vars['page']['sidebar_first']){ $vars['exception'] = 1; } // theme vars $vars['usebanner'] = (theme_get_setting('banner_usage') != 0) ? TRUE : FALSE; // Set $page['advertise'] to hide advertise space (if not used). $vars['page']['advertise'] = $vars['usebanner'] ? FALSE : $vars['page']['advertise']; $vars['border'] = TRUE; $vars['layout_width'] = marinelli_page_width(theme_get_setting('layout_width')); $vars['layoutType'] = theme_get_setting('layout_type'); // special var that checks if we have the top region $vars['topRegion'] = TRUE; if (!$vars['logo'] && !$vars['site_name'] && !$vars['site_slogan'] && !$vars['page']['utility_top'] && !$vars['page']['search']) { $vars['topRegion'] = FALSE; } // topbar Link $vars['topbarlink'] = l('↓ ' . t(check_plain(theme_get_setting('bartext'))), current_path(), array( 'attributes' => array( 'title' => 'Open this region', 'class' => array('openregion marinelli-hide-no-js'), ), 'html' => TRUE ) ); // pass the text variables to javascript drupal_add_js( array( 'marinelli' => array( 'bartext' => theme_get_setting('bartext'), 'bartext2' => theme_get_setting('bartext2'), ) ), array('type' => 'setting') ); // LOGO SECTION ============================================================== // site logo $vars['imagelogo'] = theme('image', array( 'path' => $vars['logo'], 'alt' => $vars['site_name'], 'getsize' => FALSE, 'attributes' => array('id' => 'logo'), )); $vars['imagelogo'] = l( $vars['imagelogo'], '<front>', array( 'html' => TRUE, 'attributes' => array( 'title' => t('Back to homepage'), ) ) ); // HEADER SECTION ============================================================ // site title and slogan: use h1 and h2 for front page, otherwise use <p> $title_tag = $vars['is_front'] && theme_get_setting('title_tags')== 0 ? 'h1' : 'p'; $slogan_tag = $vars['is_front'] && theme_get_setting('title_tags')== 0 ? 'h2' : 'p'; $vars['sitename'] = '<' . $title_tag . ' id="site-title">'; $vars['sitename'] .= l($vars['site_name'], '<front>', array('attributes' => array('title' => t('Back to homepage')),'html' => TRUE)); $vars['sitename'] .= '</' . $title_tag . '>'; $vars['siteslogan'] = '<' . $slogan_tag . ' id="site-slogan">'; $vars['siteslogan'] .= l($vars['site_slogan'], '<front>', array('attributes' => array('title' => t('Back to homepage')),'html' => TRUE)); $vars['siteslogan'] .= '</' . $slogan_tag . '>'; // MENU SECTION ============================================================== // secondary links with <span> $links = $vars['secondary_menu']; foreach ($links as $key => $link) { $links[$key]['html'] = TRUE; $links[$key]['title'] = '<span>' . $link['title'] . '</span>'; } $vars['secondary_menu'] = $links; // primary links markup if (theme_get_setting('menu_type') == 2) { // use mega menu $vars['mainmenu'] = theme('mega_menu', array('menu' => menu_tree_all_data(theme_get_setting('menu_element')))); } elseif (theme_get_setting('menu_type') == 1) { if (theme_get_setting('menu_headings') == 1) { // use classic <li> $vars['mainmenu'] = theme('links', array('links' => $vars['main_menu'], 'attributes' => array('id' => 'primary', 'class' => array('links', 'clearfix', 'main-menu')))); } elseif (theme_get_setting('menu_headings') == 2){ // use <h2> (custom_links in theme/theme.inc) $vars['mainmenu'] = theme('custom_links', array('links' => $vars['main_menu'], 'attributes' => array('id' => 'primary', 'class' => array('links', 'clearfix', 'main-menu')))); } } // BANNER SECTION ============================================================ // Banner to display $banners = marinelli_show_banners(); if ($banners && $vars['node']->uid == 9) { // <<<< qui metti uid utente che necessiti // Banners section $vars['banner_image'] = marinelli_banners_markup($banners); $vars['banner_text'] = ''; $vars['banner_nav'] = ''; // Display text only if there are some banner visibile and visivility settings is true if ($banners && theme_get_setting('banner_showtext')) { // Banner text markup $vars['banner_text'] = theme('mbanner_text'); } // Display nav only if there more then one banner visibile and visivility settings is true if ($banners && (count($banners) > 1) && theme_get_setting('banner_shownavigation')) { // Banner navigation markup $vars['banner_nav'] = theme('mbanner_nav', array( 'prev' => t('Previous Ad'), 'next' => t('Next Ad'), )); } // OTHER SETTINGS ============================================================ if (!$vars['page']['advertise'] && !$vars['banner_image']) { $vars['noborder'] = 'class="noborder"'; } else { $vars['noborder'] = ''; } } }Non ho tempo per rifare tutto il tema, mi spiace ma comunque dovrebbe bastare