Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Plugin di un CMS mi sballa il layout ( solo con Firefox )

    Salve a tutti.

    Ho il sito in firma realizzato con joomla e devo installare un plugin per rendere gli url delle pagine pių S.E. friendly

    Il plugin quindi , almeno in teoria , non dovrebbe modificare il codice html e i CSS delle pagine , invece di fatto modifica i CSS facendomi sballare il layout delle pagine del catalogo se le visualizzo con Firefox ( invece con IE e con Chrome tutto ok , per questo mi viene da pensare che si tratti di un problema di CSS )

    In pratica questa pagina del catalogo diventa praticamente illeggibile presentandosi cosė.

    C'č qualcuno che č in grado di dirmi , confrontando il codice delle due pagine , cosa va a modificare il plugin all'interno della pagina tanto da farla sballare?

    Grazie a chi vorrā darmi una mano.

  2. #2
    nella versione non funzionante mi sembra ci sia un div chiuso di troppo alla riga 466, che sballa tutto il dom

  3. #3
    grazie mille.

    Il fatto č che anche aprendo il file php del plugin non c'č nessun punto in cui va a modificare il codice html della pagina , modifica solo gli url :

    codice:
    <?php
    /**
    * @package		Joomla
    * @subpackage	VirtueMart 1.1.4 Router for Joomla! 1.5.14
    * @copyright	2008, Copyright (C) E-FusionSoft Technologies Pvt. Ltd. All rights reserved.
    * @license		GNU/GPL.
    * @author 		L. K. Lalitesh
    * @ Website		www.e-fusionsoft.com
    * @ Email		info@e-fusionsoft.com
    * @ Date		July 19, 2009
    * @ Version		1.1.4
    
    ## Bugs fixed in Version 1.1.4
    >> If SSL is enabled, checkout pages have https
    >> 
    	
    */
    
    defined( '_JEXEC' ) or die( 'Restricted access' );
    
    define('PAGE_SHOP_BROWSE','category');
    define('PAGE_SHOP_FEED','feed');
    define('PAGE_PRODUCT_DETAILS','details');
    define('PAGE_PRODUCT_ENQUIRY','enquiry');
    define('PAGE_CHECKOUT_INDEX','checkout');
    define('PAGE_ADVANCE_SEARCH','search');
    
    function virtuemartBuildRoute(&$query)
    {
    	
    	$page = '';
    	$segments = array();
    	
    	if(isset($query['page'])){
    		$page = $query['page'];
    		unset($query['page']);
    	}
    	
    	if(isset($query['flypage'])){
    		unset($query['flypage']);
    	}
    
    	
    
    	switch ($page) {
    		
    		/* Case for shop browse/catgory page */
    		case 'shop.browse':
    						
    			if(isset($query['category_id'])){
    				$segments[] = PAGE_SHOP_BROWSE;
    				$segments[] = $query['category_id'];				
    				$category_alias = getCategoryTitle($query['category_id']);
    				$segments[] = $category_alias;		
    				unset($query['category_id']);
    			
    			}else{
    				$segments[] = "products";
    				unset($query['category']);	
    			}
    
    			
    
    		break;
    		/*End shop browse/catgory page*/
    
    
    		/* Case for shop rss feed page */
    		case 'shop.feed':
    			
    			$segments[] = PAGE_SHOP_FEED;
    			
    			if(isset($query['category_id'])){
    				$segments[] = $query['category_id'];
    				$category_alias = getCategoryTitle($query['category_id']);
    				$segments[] = $category_alias;		
    				unset($query['category_id']);
    			}			
    		break;
    		/*End shop browse/catgory page*/
    	
    
    		/* Case for product details page */
    		case 'shop.product_details':			
    			$segments[] = PAGE_PRODUCT_DETAILS;			
    			$product_id_exists = false;
    			if(isset($query['product_id']))	{
    				$segments[] = $query['product_id'];
    				$product_id_exists = true;
    				$pid = $query['product_id'];
    				unset($query['product_id']);
    			}
    
    			if(isset($query['category_id'])){
    				$segments[] = $query['category_id'];
    				$category_alias = getCategoryTitle($query['category_id']);
    				$segments[] = $category_alias;		
    				unset($query['category_id']);
    			}
    
    
    			if($product_id_exists)	{
    				$product_alias = getProductTitle($pid);
    				$segments[] = $product_alias;		
    			}
    
    		break;
    		/*End shop browse/catgory page*/
    
    			
    		/*Case for ASK A QUESTION ABOUT THIS PRODUCT PAGE*/
    		case 'shop.ask':
    			$segments[] =PAGE_PRODUCT_ENQUIRY;	
    			
    			if(isset($query['category_id']))	{
    				$segments[] = $query['category_id'];
    				unset($query['category_id']);
    			}
    
    			if(isset($query['product_id']))	{
    				$segments[] = $query['product_id'];
    				$product_id_exists = true;
    				$pid = $query['product_id'];
    				unset($query['product_id']);
    			}
    
    			if($product_id_exists)	{
    				$product_alias = getProductTitle($pid);
    				$segments[] = $product_alias;		
    			}
    
    		break;
    		/*End*/
    		
    
    		/*
    		Checkout Index page
    		*/		
    		case 'checkout.index':
    			$segments[] = PAGE_CHECKOUT_INDEX;
    		
    			// Modified to add page => 'checkout.index' to $query var
    			// Fixes issue with not finding checkout pages (never had page=checkout.index in URL)
    			$query['page'] = 'checkout.index';
    			if(isset($query['ssl_redirect']))	{
    				$segments[] = "ssl_redirect";
    				unset($query['ssl_redirect']);
    			}
    
    			if(isset($query['redirected']))	{
    				$segments[] = "redirected";
    				unset($query['redirected']);
    			}
    
    		break;
    		/** End of checkout index page */
    		
    		
    		case 'account.billing':
    			$segments[] ="account-billing";
    			if(isset($query['next_page']) )	{
    				$segments[] = "checkout";
    				unset($query['next_page']);				
    			}
    		break;
    
    
    		case 'account.shipto':
    			$segments[] ="account-shipto";
    			if(isset($query['next_page']) )	{
    				$segments[] = "checkout";
    				unset($query['next_page']);				
    			}
    		break;
    
    
    
    		case 'account.shipping':
    			$segments[] ="account-shipping";
    			if(isset($query['next_page']) )	{
    				$segments[] = "checkout";
    				unset($query['next_page']);				
    			}
    		break;
    
    
    
    		case 'shop.registration':
    			$segments[] ="user-registration";
    		break;
    
    
    		case 'shop.recommend':
    			$segments[] ="recommend";
    
    			if(isset($query['tmpl']) )	{
    				$segments[] = $query['tmpl'];
    				unset($query['tmpl']);				
    			}
    
    			if(isset($query['pop']) )	{
    				$segments[] = $query['pop'];
    				unset($query['pop']);				
    			}
    
    			if(isset($query['product_id']) ){
    				$segments[] = $query['product_id'];
    				$product_alias = getProductTitle($query['product_id']);
    				$segments[] = $product_alias;		
    				unset($query['product_id']);				
    			}
    
    		break;
    
    
    		case 'shop.tos':
    			$segments[] ="terms-of-service";
    		break;
    
    		case 'shop.cart':
    			$segments[] ="cart";
    		break;
    
    		case 'account.index':
    			$segments[] ="account";
    		break;
    
    
    
    		case 'account.order_details':
    			$segments[] ="order-details";
    			if(isset($query['order_id']))	{
    				$segments[] = $query['order_id'];
    				unset($query['order_id']);
    			}
    		break;
    
    
    		case 'shop.waiting_list':
    			$segments[] ="notify";
    			if(isset($query['product_id']))	{
    				$segments[] = $query['product_id'];
    				$product_id_exists = true;
    				$pid = $query['product_id'];
    				unset($query['product_id']);
    			}
    
    			if($product_id_exists)	{
    				$product_alias = getProductTitle($pid);
    				$segments[] = $product_alias;	
    			}
    		break;
    
    		case 'shop.search':
    			$segments[] =PAGE_ADVANCE_SEARCH;			
    		break;
    
    		case 'store.index':
    			$segments[] = 'administration';			
    		break;
    		
    		// Modified for in case of a page not listed here; make sure page=$page gets passed
    		default:
    			$query['page'] = $page;
    		break;
    
    	} 
    
    	return $segments;
    }
    /*End of the function*/
    
    
    
    function virtuemartParseRoute($segments)
    {
    
    	$vars = array();
    
    	$firstSegment = $segments[0]; 
    	switch($firstSegment){
    		
    		case PAGE_SHOP_BROWSE:
    			$vars['page'] = "shop.browse";
    			if(isset($segments[1])){
    				$vars['category_id'] = $segments[1];
    			}
    		break;
    
    		/*This is for all products page*/
    		case 'products':
    			$vars['page'] = "shop.browse";
    			$vars['category'] = "";	
    		break;
    
    		
    		case PAGE_SHOP_FEED:
    			$vars['page'] = "shop.feed";
    			if(isset($segments[1])){
    				$vars['category_id'] = $segments[1];
    			}
    			
    		break;
    
    		case PAGE_PRODUCT_DETAILS:
    			$vars['page'] = "shop.product_details";
    			
    			if(isset($segments[1])){
    				$vars['product_id'] = $segments[1];
    			}
    
    			if(isset($segments[2])){
    				$vars['category_id'] = $segments[2];
    			}
    			
    			
    		break;
    
    		case PAGE_PRODUCT_ENQUIRY:
    			$vars['page'] = "shop.ask";
    			$vars['category_id'] = $segments[1];
    			$vars['product_id'] = $segments[2];
    		break; 
    
    		case PAGE_CHECKOUT_INDEX:
    			$vars['page'] = "checkout.index";
    		
    			if(isset($segments[1]) && ($segments[1]=="ssl_redirect")){
    				$vars['ssl_redirect'] = 1;
    				
    			}
    
    			if(isset($segments[2]) && ($segments[2]=="redirected")){
    				$vars['redirected'] = 1;
    			}
    		break;
    
    		case 'account:billing':
    			$vars['page'] = "account.billing";
    			if(isset($segments[1])){
    				$vars['next_page'] = "checkout.index";
    			}
    		break;
    
    		case 'account:shipto':
    			$vars['page'] = "account.shipto";
    			if($segments[1]){
    				$vars['next_page'] = "checkout.index";
    			}
    		break;
    
    		case 'account:shipping':
    			$vars['page'] = "account.shipping";
    			if($segments[1]){
    				$vars['next_page'] = "checkout.index";
    			}
    		break;
    
    
    
    
    		case 'recommend':
    			$vars['page'] = "shop.recommend";
    			$vars['pop'] = 1;
    			$vars['product_id'] = $segments[3];
    			$vars['tmpl']= "component";
    		break;
    
    
    		case 'user:registration':
    			$vars['page'] = "shop.registration";
    		break;
    
    
    
    		case 'account':
    			$vars['page'] = "account.index";
    		break; 
    
    
    		case 'cart':
    			$vars['page'] = "shop.cart";
    		break; 
    
    
    		case 'order:details':
    			$vars['page'] = "account.order_details";
    			$vars['order_id'] = $segments[1];				
    		break;
    
    		case 'temrs:of:service':
    			$vars['page'] = "shop.tos";				
    		break;
    
    
    
    		case 'notify':
    			$vars['page'] = "shop.waiting_list";
    			$vars['product_id'] = $segments[1];				
    		break;
    
    		case PAGE_ADVANCE_SEARCH:
    			$vars['page'] = "shop.search";
    					
    		break;
    
    		case 'administration':
    			$vars['page'] = "store.index";
    			$vars['pshop_mode'] = "admin";
    					
    		break;
    		
    		// Modified to add default case to correspond to default case in buildRoute() function
    		default:
    			$vars['page'] = $firstSegment;
    		break;
    
    	}
    	return $vars;
    }
    
    
    /*
    This function returns category/subcatgory alias string
    */
    
    function getCategoryTitle($id){
    	$db			= & JFactory::getDBO();
    	
    	$query = "
    			SELECT t1.category_child_id AS lev1, t2.category_child_id as lev2, t3.category_child_id as lev3
    			FROM  #__vm_category_xref AS t1
    			LEFT JOIN #__vm_category_xref AS t2 ON t2.category_child_id = t1.category_parent_id
    			LEFT JOIN #__vm_category_xref AS t3 ON t3.category_child_id = t2.category_parent_id
    			WHERE t1.category_child_id= ".$id;
    	
    	$db->setQuery($query);
    	$nestedCategoryIds = $db->loadObject();
    	// Modified to come up with a better way to check the $nestedCategoryIds object
    	// (current method generates: "Notice: Object of class stdClass could not be converted to int")
    	// is_object() should also work, but loadObject() returns null if nothing, so ==null works
    	//if($nestedCategoryIds=="")
    	if($nestedCategoryIds==null)
    		return;
    
    	$catIdsArr = array();
    	
    	if($nestedCategoryIds->lev3){
    		$catIdsArr[] = $nestedCategoryIds->lev3; 
    	}
    
    	if($nestedCategoryIds->lev2){
    		$catIdsArr[] = $nestedCategoryIds->lev2; 
    	}
    
    	if($nestedCategoryIds->lev1){
    		$catIdsArr[] = $nestedCategoryIds->lev1; 
    	}
    
    	$catIdsStr = implode( ',', $catIdsArr );
    	
    	$query = "SELECT GROUP_CONCAT( category_name
    			SEPARATOR  '/' ) 
    			FROM #__vm_category
    			WHERE category_id IN (".$catIdsStr.")";
    
    
    
    	$db->setQuery($query);
    	$category_name = $db->loadResult();
    	$category_alias = strtolower($category_name);
    
    	//Remove following characters
    	$special_chars = array('!','@','#','$','%','*','(',')');
    	foreach($special_chars as $char){
    		$category_alias = str_replace($char,'', $category_alias);
    	}
    
    	$category_alias = str_replace(' ','-', $category_alias);
    	$category_alias = str_replace('  ','-', $category_alias);
    	return $category_alias;
    }
    
    
    
    function getProductTitle($id){
    	$db			= & JFactory::getDBO();
    	// gets category name
    	$query = 'SELECT product_name FROM #__vm_product  ' .
    	' WHERE product_id = ' . (int) $id;
    
    	$db->setQuery($query);
    	// gets category name of item
    	$product_name = $db->loadResult();
    	$product_name = strtolower($product_name);
    
    	//Remove following characters
    	$special_chars = array('!','@','#','$','%','*','(',')');
    	foreach($special_chars as $char){
    		$product_name = str_replace($char,'', $product_name);
    	}
    
    	$product_name = str_replace(' ','-', $product_name);
    	$product_name = str_replace('  ','-', $product_name);
    	return $product_name;
    }
    
    /*
    function getmanufacturerName($id){
    	$db			= & JFactory::getDBO();
    	// gets category name
    	$query = 'SELECT mf_name FROM #__vm_manufacturer   ' .
    	' WHERE manufacturer_id = ' . (int) $id;
    	echo $query;die();
    	$db->setQuery($query);
    	// gets category name of item
    	$mf_name = $db->loadResult();
    	$mf_name = strtolower($product_name);
    
    	//Remove following characters
    	$special_chars = array('!','@','#','$','%','*','(',')');
    	foreach($special_chars as $char){
    		$mf_name = str_replace($char,'', $mf_name);
    	}
    
    	$mf_name = str_replace(' ','-', $mf_name);
    	$mf_name = str_replace('  ','-', $mf_name);
    	return $mf_name;
    }
    */
    ?>
    secondo voi com'č possibile? e perché la visualizzazione sballa solo in firefox e non con altri browser?

  4. #4
    secondo me perchč nel fare la traduzione degli indirizzi ha inserito qualche sequenza di caratteri strana tipo --- alla riga 464. Come ti spieghi altrimenti che nella versione non funzionante la riga successiva non č pių commentata?
    Secondo me se togli le righe commentate che iniziano alla riga 463 ti funziona tutto, a meno di situazioni analoghe nel codice

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.