Есть модуль для слайдинга материалов заданной категории. Сам материал выводится одной командой <?php $jactslide->genHTML($catid,0,$numElem,$useajax); ?> Мне нужно вывести таким же образом, но ниже, материалы из другой категории. Я попробовал сделать это вызовом этой же функции, но с конкретными параметрами <?php $jactslide->genHTML(40,0,2,1); ?> но ничего не выводится. Похоже скрипт выгрызает из базы только одну категорию... Как нужно изменить код модуля (ниже), чтобы он брал из базы еще одну категорию, (подойдет вариант даже с $catid+1 ) Вот код модуля: Код (CODE): <?php if (!defined ('_JEXEC')) { define( '_JEXEC', 1 ); define( 'DS', DIRECTORY_SEPARATOR ); $path = dirname(__FILE__); $path = str_replace ('\\', '/', $path); if ($pos = strpos ($path, '/modules/')) { $path = substr($path, 0, $pos); } define('JPATH_BASE', $path ); require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' ); require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' ); JDEBUG ? $_PROFILER->mark( 'afterLoad' ) : null; /** * CREATE THE APPLICATION * * NOTE : */ $mainframe =& JFactory::getApplication('site'); $mainframe->initialise(); // trigger the onAfterStart events $modid = JArrayHelper::getValue($_GET,'modid',0); $query = "SELECT params FROM #__modules WHERE id = $modid;"; $database = JFactory::getDBO(); $database->setQuery($query); $params = $database->loadResult(); $params = new JParameter ($params); /** get the information about the current user from the sessions table */ $my = $mainframe->getUser(); } defined( '_JEXEC' ) or die( 'Restricted access' ); require_once(JPATH_SITE.'/modules/mod_ja_contentslide/mod_ja_contentslide/application.php'); $xheight = $params->get('xheight',400); $xwidth = $params->get('xwidth',400); $iheight = $params->get('iheight',80); $iwidth = $params->get('iwidth',80); $numElem = $params->get('numElem',4); $catid = $params->get('catid',''); $showtitle = $params->get('showtitle',0); $showimages = $params->get('showimages',0); $showreadmore = $params->get('showreadmore',0); $showintrotext = $params->get('showintrotext',0); $link_titles = $params->get('link_titles',0); $numChar = $params->get('numchar',0); $auto = $params->get('auto',0); $direction = $params->get('direction','left'); $delaytime = $params->get('delaytime',5000); $animationtime = $params->get('animationtime',1000); $mootools = $params->get('mootools',1); $numberjump = 1; $useajax = $params->get('useajax',0); $usezip = $params->get('usezip',0); $currentItem = JArrayHelper::getValue($_REQUEST,'news',0); $total = JArrayHelper::getValue($_REQUEST,'total',0); $database = &JFactory::getDBO(); if($catid) $catid = "'".implode("','",explode(',',$catid))."'"; $loadajax = JArrayHelper::getValue($_REQUEST,'loadajax',0); $jactslide = new JA_ContentSlide($params, $database, $showtitle,$showreadmore,$showintrotext,$link_titles,$numElem,$numberjump,$numChar,$iwidth,$iheight,$showimages); if(!$total) $total = $jactslide->getTotal($catid); if($total){ if($loadajax){ $jactslide->genHTML_AJAX($catid,$currentItem,$numberjump); } else{ $ja_modid = $module->id; //Insert link to head (onece) JHTML::stylesheet('ja_contentslide.css', JURI::base().'/modules/mod_ja_contentslide/mod_ja_contentslide/'); ?> <?php if ($mootools) { ?><script type="text/javascript" src="<?php echo JURI::base(); ?>modules/mod_ja_contentslide/mod_ja_contentslide/mootools.v1.1.js"></script> <?php } ?> <script type="text/javascript" src="<?php echo JURI::base(); ?>modules/mod_ja_contentslide/mod_ja_contentslide/ja_contentslide<?php if($usezip) echo ".pak"; ?>.js"></script> <script type="text/javascript"> var options={ w: <?php echo $xwidth; ?>, h: <?php echo $xheight; ?>, num_elem: <?php echo $numElem; ?>, mode: 'horizontal', //horizontal or virtical direction: '<?php echo $direction; ?>', //horizontal: left or right; virtical: up or down total: <?php echo $total; ?>, url: '<?php echo JURI::base(); ?>modules/mod_ja_contentslide/mod_ja_contentslide.php', wrapper: 'ja-contentslider-center', duration: <?php echo $animationtime; ?>, interval: <?php echo $delaytime; ?>, modid: <?php echo $ja_modid;?>, running: false, auto: <?php echo $auto; ?> }; var jscontentslider = null; </script> <script type="text/javascript"> //<!--[CDATA[ function contentSliderInit () { jscontentslider = new JS_ContentSlider(options); elems = $('ja-contentslider-center').getElementsByClassName ('content_element'); for(i=0;i<elems.length;i++){ jscontentslider.update (elems[i].innerHTML, i); } jscontentslider.setPos(null); if(jscontentslider.options.auto){ jscontentslider.nextRun(); } $("ja-contentslide-left-img").onmouseover = function(){setDirection('left',0);}; $("ja-contentslide-left-img").onmouseout = function(){setDirection('left',1);}; $("ja-contentslide-right-img").onmouseover = function(){setDirection('right',0);}; $("ja-contentslide-right-img").onmouseout = function(){setDirection('right',1);}; } window.addEvent( 'load', contentSliderInit); function setDirection(direction,ret){ jscontentslider.options.direction = direction; if(ret){ $('ja-contentslide-'+direction+'-img').src = '<?php echo JURI::base(); ?>modules/mod_ja_contentslide/mod_ja_contentslide/re-'+direction+'.gif'; jscontentslider.options.interval = <?php echo $delaytime; ?>; jscontentslider.options.duration = <?php echo $animationtime; ?>; jscontentslider.options.auto = <?php echo $auto; ?>; jscontentslider.nextRun(); } else{ $('ja-contentslide-'+direction+'-img').src = '<?php echo JURI::base(); ?>modules/mod_ja_contentslide/mod_ja_contentslide/re-'+direction+'-hover.gif'; jscontentslider.options.interval = 500; jscontentslider.options.duration = 500; jscontentslider.options.auto = 1; jscontentslider.nextRun(); } } //]]--> </script> <div id="ja-contentslider" class="clearfix" > <div id="upr1"> <img id="ja-contentslide-left-img" src="<?php echo JURI::base(); ?>modules/mod_ja_contentslide/mod_ja_contentslide/re-left.gif" alt="Left direction" title="Left direction" /> <br/> <img id="ja-contentslide-right-img" src="<?php echo JURI::base(); ?>modules/mod_ja_contentslide/mod_ja_contentslide/re-right.gif" alt="Прокрутка вправо" title="Прокрутка вправо" /> </div> <div id="ja-contentslider-center"> <?php $jactslide->genHTML($catid,0,$numElem,$useajax); ?> </div> </div> <hr class="clr"/> <div id="ja-contentslider" class="clearfix" > <div id="upr2"> <img id="ja-contentslide-left-img" src="<?php echo JURI::base(); ?>modules/mod_ja_contentslide/mod_ja_contentslide/re-left.gif" alt="Прокрутка влево" title="Прокрутка влево" /><br/> <img id="ja-contentslide-right-img" src="<?php echo JURI::base(); ?>modules/mod_ja_contentslide/mod_ja_contentslide/re-right.gif" alt="Прокрутка вправо" title="Прокрутка вправо" /> </div> <div id="ja-contentslider-center"> <?php $jactslide->genHTML(39,0,2,1); ?> </div> </div> <?php } } else{ echo '<div id="ja-contentslide-error">Нет опубликованного контента в данной категории</div>'; } ?> Также прилагаю полностью модуль.
Это я пробовал, не работает, похоже какие-то конфликты, но я видел другие модули для Joomla 1.5, которые можно клонировать, так у них есть специальное поле, которое добавляет уникальность клона.
Я смотрел код - по идее ничего тому, что бы не показывались другие категории мешать не должно. Попробуй прямо перед вызовом сделать Код (CODE): $catid = 41; genHTML($catid,...) И так со всеми переменными.
Спасибо, немного помогло, категорию подхватывает, но выводит только 1 материал, и не работают кнопки управления. Что еще нужно поправить, чтобы во втором блоке выводилось идентично?
Уже сделал. Что интересно, когда просматриваешь html-код сгененерированной страницы - там все есть, но на экране этого не видно. Такое ощущение что java-скрипт выполняется только на первом блоке, а дальше не хочет или сбоит.... Попробовал вызывать java-скрипт повторно перед вторым блоком, тогда перестает работать слайдинг и в первом и во втором блоке...
Там в настройках должен быть параметр типа использовать mootols или нет. Попробуй отключить, временно.
Простите великодушно что вмешиваюсь ваш разговор, просто и у меня проблема с данным модулем, я бы хотел попросить у столь подковных господ помощи ... все мы когда-то что-то начинали, вот и я тоже Помогите друзья, пожалуйста… Настроил чтобы по вертикали. В поле "Number Element" ввожу значени Х, тоесть Х элементов категории появляются, а остальные ждут своей очереди... эти первые Х работают нормально, а остальные которые появляются - нет. А именно англ текст выводиться, а текст на русском чуть ли не свастики, а при нажатии неХ элементов денвер выдает ошибку, как с теми что с англ. текстом, так и с теми что с русским. Еще замечание: рабочая ссылка Х элементов в частном случае выглядит так: /index.php?option=com_content&view=article&id=50:copenhagenst reetstyle&catid=34emo-contentslider а та что выдает ошибку так: /modules/mod_ja_contents lide/index.php?option=com_content&view=article&id=56:copenhagenst reetstyle&catid=34emo-contentslider Я думаю кидать ошибку что выдает денвер смысла мало... Надеюсь на ваш отклик, надеяться больше не на кого... помогите пожалуйста !!!!
PS Если в ссылке неХ (не рабочих) элементов удалить то что жирным и вставить в адресную строку, то страничка нормально отображается с нормальным текстом кириллицы! очень надеюсь на ваш отклик!!!