Magento - Javascripte v navzkrižu ena z drugo
6 naročnikov
6 naročnikov
Na naslovnico spletne trgovine, ki jo trenutno izdelujem, http://makspro.eliteplaying.com/index.php/ sem dodal JS skripto za rotacijo bannerjev (to je ta na vrhu content dela).
Ta skripta za delovanje potrebuje naslednji dve vrstici:
<script type="text/javascript" src="http://makspro.eliteplaying.com/banners/js/jquery.js"></script>
<script type="text/javascript" src="http://makspro.eliteplaying.com/banners/js/scripts.js"></script>
Problem pa je, ker se ta JS skripta tepe z ostalimi JS skriptami magento prednastavljenimi skriptami. Sedaj sem nastavil tako, da doda zgornji dve vrstici za aktivacijo in zagon JSja samo na index.php strani, ostale podstrani teh skript nimajo in vse deluje tako kot mora.
Recimo na tej podstrani http://makspro.eliteplaying.com/index.php/bela-tehnika.html lahko v tem velikem search baru na modrem pašku zasledite, da prikaže znotraj napis "Iskanje po celotni trgovini..." potem "Računalništvo" gumb v vodoravnem menuju ima drop down še ostalih podkategorij,.... To pa vse zato, ker so za te stvari nastavljenej javaskript skripte. Na prvi strani pa zgoraj naštete stvari NE delujejo.
Predvidevam, da so .js skripte v navzkrižu ena z drugo. Kaj lahko kaj naredim na hitro za to porpvaiti ali mislite, da so kakšne klase ali kaj podobnega znotraj skripte od bannerja ki so enake z ostalimi JS skriptami?
Da rotacija banerjev deluje samo na prvi strani sem dodal v app/design/frontend/default/handbags/template/page/html/head.phtml
<?php
$uri = $_SERVER['REQUEST_URI'];
if ($uri == "/" || $uri == "/index.php/" || $uri == "/index.php" ) {
echo '
<script type="text/javascript" src="http://makspro.eliteplaying.com/banners/js/jquery.js"></script>
<script type="text/javascript" src="http://makspro.eliteplaying.com/banners/js/scripts.js"></script>';
} else {
}
?>
15 odgovorov
Se opravičujem če izpade nadležno samo nisem vešč v javascriptu in mi je sploh ta dolga jquery.js koda zeo nejasna. Hvala pa vsem za vaš potrpežljiv trud.
Sedaj sem še oba dodatna nasveta upošteval. V scripts.js sem vse $. zamenjal z jQuery. pa tudi v jquery.js sem dodal na konec
var $j = jQuery.noConflict();
pa $ znake zamenjal z $j primer imel sem:
(function(){var javascriptKoda=window.javascriptKoda,$j=window.$;
sedaj pa je
(function(){var javascriptKoda=window.javascriptKoda,$j=window.$j;
in podobne. Stvar pa mi še venomer ne deluje.
Pomoje bolje, da nekomu daš €, da ti to popravi.
Še enkrat.
v Jquery kodo, čist na koncu (jquery.js) dodaš jQuery.noConflict();
v skript.js narediš replace klica iz $( v jQuery(
To je to.
Žal mi ne uspe, tako da bom kar upošteval tvoj nasvet.
Prosim nekoga, ki je spremljal to temo pa približno pozna težavo, da mi na mail pošlje okvirno ceno za popravilo pa mu predam problem in delo.
Lahko kar na ZS.
Hvala.