Van egy Apróhirdetés tartalomtípusom. Jelenleg úgy működik, hogy a beküldésnél be lehet pipálni, hogy normál vagy kiemelt hirdetésként jelenjen meg. Views-al megoldottam, hogy kiemelt hirdetés esetén a főoldalon egy blokkban jelenik meg az apróhirdetés címe és egy image fielddel feltöltött kép. Szeretném megoldani, hogy a kiemelt hirdetéseket a főoldali blokkban lehessen léptetni . Nagyon megtetszettek a ddblock modulban rejlő lehetőségek, de sajnos nem sikerült beüzemelnem. Odáig eljutottam, hogy felinstalláltam a ddblock, views_slideshow és views_slideshow_ddblock modulokat. A kiemelt_hirdetesek views-omban beállítottam a szükséges mezőket, és a style-t slideshow-ra állítottam. Ha jól értem az van még hátra, hogy átírom a ddblock preprocess functions fájlt (template.php.txt) és beillesztem a sminkem template.php-jába. Itt kezdődik a problémám, mert sajnos nincsenek php-ismereteim. Addig meg van, hogy az általam használt smink nevét beírom a Theme Name helyére...De mit kell még megváltoztanom a kódban? Ebben kérnék egy kis segítséget, iránymutatást, amit előre is köszönök!
/*! * Dynamic display block preprocess functions * Copyright (c) 2008 - 2009 P. Blaauw All rights reserved. * Version 1.6 (01-OCT-2009) * Licenced under GPL license * http://www.gnu.org/licenses/gpl.html */ /** * Override or insert variables into the ddblock_cycle_block_content templates. * Used to convert variables from view_fields to slider_items template variables * * @param $vars * An array of variables to pass to the theme template. * */ function [THEME_NAME]_preprocess_ddblock_cycle_block_content(&$vars) { if ($vars['output_type'] == 'view_fields') { $content = array(); // Add slider_items for the template // If you use the devel module uncomment the following line to see the theme variables // dsm($vars['settings']['view_name']); // dsm($vars['content'][0]); // If you don't use the devel module uncomment the following line to see the theme variables // drupal_set_message('<pre>' . var_export($vars['settings']['view_name'], true) . '</pre>'); // drupal_set_message('<pre>' . var_export($vars['content'][0], true) . '</pre>'); if ($vars['settings']['view_name'] == 'news_items') { if (!empty($vars['content'])) { foreach ($vars['content'] as $key1 => $result) { // add slide_image variable if (isset($result->node_data_field_pager_item_text_field_image_fid)) { // get image id $fid = $result->node_data_field_pager_item_text_field_image_fid; // get path to image $filepath = db_result(db_query("SELECT filepath FROM {files} WHERE fid = %d", $fid)); // use imagecache (imagecache, preset_name, file_path, alt, title, array of attributes) if (module_exists('imagecache') && is_array(imagecache_presets()) && $vars['imgcache_slide'] <> '<none>'){ $slider_items[$key1]['slide_image'] = theme('imagecache', $vars['imgcache_slide'], $filepath, check_plain($result->node_title)); } else { $slider_items[$key1]['slide_image'] = '<img src="' . base_path() . $filepath . '" alt="' . check_plain($result->node_title) . '"/>'; } } // add slide_text variable if (isset($result->node_data_field_pager_item_text_field_slide_text_value)) { $slider_items[$key1]['slide_text'] = check_markup($result->node_data_field_pager_item_text_field_slide_text_value); } // add slide_title variable if (isset($result->node_title)) { $slider_items[$key1]['slide_title'] = check_plain($result->node_title); } // add slide_read_more variable and slide_node variable if (isset($result->nid)) { $slider_items[$key1]['slide_read_more'] = l('Read more...', 'node/' . $result->nid); $slider_items[$key1]['slide_node'] = base_path() . 'node/' . $result->nid; } } } } $vars['slider_items'] = $slider_items; } } /** * Override or insert variables into the ddblock_cycle_pager_content templates. * Used to convert variables from view_fields to pager_items template variables * Only used for custom pager items * * @param $vars * An array of variables to pass to the theme template. * */ function [THEME_NAME]_preprocess_ddblock_cycle_pager_content(&$vars) { if (($vars['output_type'] == 'view_fields') && ($vars['pager_settings']['pager'] == 'custom-pager')){ $content = array(); // Add pager_items for the template // If you use the devel module uncomment the following lines to see the theme variables // dsm($vars['pager_settings']['view_name']); // dsm($vars['content'][0]); // If you don't use the devel module uncomment the following lines to see the theme variables // drupal_set_message('<pre>' . var_export($vars['pager_settings'], true) . '</pre>'); // drupal_set_message('<pre>' . var_export($vars['content'][0], true) . '</pre>'); if ($vars['pager_settings']['view_name'] == 'news_items') { if (!empty($vars['content'])) { foreach ($vars['content'] as $key1 => $result) { // add pager_item_image variable if (isset($result->node_data_field_pager_item_text_field_image_fid)) { $fid = $result->node_data_field_pager_item_text_field_image_fid; $filepath = db_result(db_query("SELECT filepath FROM {files} WHERE fid = %d", $fid)); // use imagecache (imagecache, preset_name, file_path, alt, title, array of attributes) if (module_exists('imagecache') && is_array(imagecache_presets()) && $vars['imgcache_pager_item'] <> '<none>'){ $pager_items[$key1]['image'] = theme('imagecache', $vars['pager_settings']['imgcache_pager_item'], $filepath, check_plain($result->node_data_field_pager_item_text_field_pager_item_text_value)); } else { $pager_items[$key1]['image'] = '<img src="' . base_path() . $filepath . '" alt="' . check_plain($result->node_data_field_pager_item_text_field_pager_item_text_value) . '"/>'; } } // add pager_item _text variable if (isset($result->node_data_field_pager_item_text_field_pager_item_text_value)) { $pager_items[$key1]['text'] = check_plain($result->node_data_field_pager_item_text_field_pager_item_text_value); } } } } $vars['pager_items'] = $pager_items; } }
Itt pontosan megnézheted,
Itt pontosan megnézheted, hogy mennyire kell "programozni".
http://www.archive.org/details/Ddblock-AdvancedDynamicDisplayBlockSlides...
Gazsesz