bonjour
quand je clique sur un article du carousel j'ai une url du type: index.php?option=com_flexicontent&view=items&id=1298
et quand je vais sur le meme article en passant par le mainmenu, j'ai une url du type: index.php?option=com_flexicontent&view=items&cid=134:desserts&id=1298:gateau-caramelise-a-lananas&Itemid=654
comment faire pour avoir la deuxieme url en passant par le carousel! j'ai fait des essais, mais aucun resultat!
fichier helper.php
Code:
<?php
// @copyright Copyright (C) 2008 IceTheme. All Rights Reserved
// @license Copyrighted Commercial Software
// @author IceTheme (icetheme.com)
// no direct access
defined('_JEXEC') or die('Restricted access');
require_once (JPATH_SITE . '/components/com_content/helpers/route.php');
class modIceCarouselHelper
{
function renderItem(&$item, &$params, &$access)
{
global $mainframe;
$item->text = $item->introtext;
$item->groups = '';
$item->readmore = (trim($item->fulltext) != '');
$item->metadesc = '';
$item->metakey = '';
$item->access = '';
$item->created = '';
$item->modified = '';
if ($params->get('readmore') || $params->get('link_titles'))
{
if ($params->get('intro_only'))
{
// Check to see if the user has access to view the full article
if ($item->access <= $user->get('aid', 0)) {
$linkOn = ContentHelperRoute::getArticleRoute($item->slug, $item->catslug);
} else {
$linkOn = JRoute::_('index.php?option=com_user&task=register');
}
}
$item->linkOn = $linkOn;
}
$results = $mainframe->triggerEvent('onAfterDisplayTitle', array (&$item, &$params, 1));
$item->afterDisplayTitle = trim(implode("\n", $results));
$results = $mainframe->triggerEvent('onBeforeDisplayContent', array (&$item, &$params, 1));
$item->beforeDisplayContent = trim(implode("\n", $results));
require(JModuleHelper::getLayoutPath('mod_ice_carousel', '_item'));
}
function getList(&$params, &$access)
{
global $mainframe;
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
$aid = $user->get('aid', 0);
$catid = (int) $params->get('catid', 0);
$items = (int) $params->get('items', 0);
$order = $params->get('order', 'o_asc');
$contentConfig = &JComponentHelper::getParams( 'com_content' );
$noauth = !$contentConfig->get('shownoauth');
jimport('joomla.utilities.date');
$date = new JDate();
$now = $date->toMySQL();
$nullDate = $db->getNullDate();
// Ordering
switch ($order) {
case 'm_dsc':
$ordering = 'a.modified DESC, a.created DESC';
break;
case 'h_dsc':
$ordering = 'a.hits DESC, a.created DESC';
break;
case 'c_dsc':
$ordering = 'a.created DESC';
break;
case 'o_asc':
default:
$ordering = 'a.ordering';
break;
}
// Query to determine article count
$query = 'SELECT a.*,' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.name) THEN CONCAT_WS(":", cc.id, cc.name) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE a.state = 1 ' .
($noauth ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
' AND (a.publish_up = "'.$nullDate.'" OR a.publish_up <= "'.$now.'" ) ' .
' AND (a.publish_down = "'.$nullDate.'" OR a.publish_down >= "'.$now.'" )' .
' AND cc.id = '. $catid .
' AND cc.section = s.id' .
' AND cc.published = 1' .
' AND s.published = 1' .
' ORDER BY ' . $ordering;
$db->setQuery($query);
$rows = $db->loadObjectList();
if ($order == 'random') shuffle($rows);
return array_slice($rows, 0, $items);
}
}
fichier mod_ice_carousel.php
Code:
<?php
// @copyright Copyright (C) 2008 IceTheme. All Rights Reserved
// @license Copyrighted Commercial Software
// @author IceTheme (icetheme.com)
// no direct access
defined('_JEXEC') or die('Restricted access');
// include the syndicate functions only once
require_once (dirname(__FILE__).DS.'helper.php');
//Allow multiplie Id's
if (!isset($GLOBALS['add_IceCarousel_container'])) { $GLOBALS['add_IceCarousel_container'] = 1; } else { $GLOBALS['add_IceCarousel_container']++; }
if (!isset($GLOBALS['add_IceCarousel_prev'])) { $GLOBALS['add_IceCarousel_prev'] = 1; } else { $GLOBALS['add_IceCarousel_prev']++; }
if (!isset($GLOBALS['add_IceCarousel_next'])) { $GLOBALS['add_IceCarousel_next'] = 1; } else { $GLOBALS['add_IceCarousel_next']++; }
// Disable edit ability icon
$access = new stdClass();
$access->canEdit = 0;
$access->canEditOwn = 0;
$access->canPublish = 0;
$list = modIceCarouselHelper::getList($params, $access);
// check if any results returned
$items = count($list);
if (!$items) {
return;
}
// Variables
$mod_url = JURI::base() . 'modules/mod_ice_carousel/';
$style = $params->get('style', 'default');
$IceCarousel_fullwidth = $params->get('IceCarousel_fullwidth', '970');
$IceCarousel_width = $params->get('IceCarousel_width', '173');
$IceCarousel_height = $params->get('IceCarousel_height', '210');
$IceCarousel_container = 'IceCarousel_container_' . $GLOBALS['add_IceCarousel_container'];
$IceCarousel_prev = 'IceCarousel_prev_' . $GLOBALS['add_IceCarousel_prev'];
$IceCarousel_next = 'IceCarousel_next_' . $GLOBALS['add_IceCarousel_next'];
$IceCarousel_type = $params->get('IceCarousel_type', 'fadeNscroll');
$IceCarousel_direction = $params->get('IceCarousel_direction', 'left');
$IceCarousel_amount = $params->get('IceCarousel_amount', '1');
$IceCarousel_transition = $params->get('IceCarousel_transition', 'linear');
$IceCarousel_duration = $params->get('IceCarousel_duration', '500');
$IceCarousel_rotatetype = $params->get('IceCarousel_rotatetype', 'manual');
$IceCarousel_interval = $params->get('IceCarousel_interval', '5000');
$IceCarousel_onMouseOver = $params->get('IceCarousel_onMouseOver', 'stop');
$IceCarousel_showtext = $params->get('IceCarousel_showtext', 1) ? 'true' : 'false';
$IceCarousel_text = $params->get('IceCarousel_text', 'The New IceCarousel Module');
switch ($style) {
default:
require(JModuleHelper::getLayoutPath('mod_ice_carousel', 'default'));
}
// Add this to Head
$doc =&JFactory::getDocument();
$doc->addScript($mod_url . 'js/ice_carousel.js');
$doc->addStyleSheet($mod_url . 'css/ice_carousel.css');
JHTML::_('behavior.mootools');
$tohead.='
<script type="text/javascript">
window.addEvent("domready", function() {
new IceCarousel ( "'. $IceCarousel_container .'" , {
idPrevious: "'. $IceCarousel_prev .'",
idNext: "'. $IceCarousel_next .'",
item: {
klass: "icecarousel_item",
size: 229
},
animation: {
type: "'. $IceCarousel_type .'",
direction: "'. $IceCarousel_direction .'",
amount: '. $IceCarousel_amount .',
transition: Fx.Transitions.'. $IceCarousel_transition .',
duration: '. $IceCarousel_duration .',
rotate: {
type: "'. $IceCarousel_rotatetype .'",
interval: '. $IceCarousel_interval .',
onMouseOver: "'. $IceCarousel_onMouseOver .'"
}
}
});
});
</script>
';
$mainframe->addCustomHeadTag($tohead);
merci par avance