Zakładając, że już utworzyłeś stronę CMS, a nazwa tej strony to About Us
ta nazwa powinna zostać uwzględnionaif ($headBlock->getModuleName() == 'Mage_Page' && $headBlock->getTitle() =='your_page_name'):
Teraz dodaj ten kod do swojego app/design/frontend/your_package/your_theme/template/page/html/head.phtml
<?php $headBlock = $this->getLayout()->getBlock('head');
if ($headBlock->getModuleName() == 'Mage_Page' && $headBlock->getTitle() =='About Us'):
?>
<link rel="stylesheet"href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script type="text/javascript">jQuery.noConflict();</script>
<script type="text/javascript"> jQuery(function() { jQuery( "#tabs" ).tabs(); });</script>
<?php endif; ?>
Następnie otwórz sekcję treści na swojej stronie CMS.
<div style="float: right; width: 200px;">
<p>{{block type="tag/popular" template="tag/popular.phtml"}}</p>
</div>
<div id="tabs" style="width: 680px;">
<ul>
<li><a href="#tabs-1">You text here.</a></li>
<li><a href="#tabs-2">You text here.</a></li>
<li><a href="#tabs-3">You text here.</a></li>
</ul>
<div id="tabs-1">
<p>You text here.</p>
</div>
<div id="tabs-2">
<p>You text here.</p>
</div>
<div id="tabs-3">
<p>You text here.</p>
<p>You text here.</p>
</div>
</div>
wklej ten kod, a to utworzy zakładki jquery w twoim interfejsie. Mam nadzieję, że to pomoże.
tutaj jest link referencyjny, jeśli masz jakiekolwiek wątpliwości.
Nie sugerowałbym edycji twojego
head.phtml
szablonu do tego. W większości przypadków nie potrzebujesz niestandardowego szablonu głowy w swoim własnym motywie, ponieważ ten podstawowy już wykonuje swoją pracę.Również osobiście nie lubię pisać kodu opartego na wyjątkach (jeśli A to zrób to, jeśli B to zrób to). Jeśli potrzebujesz wielu różnych skryptów javascript na wielu różnych stronach, to możesz
head.phtml
wypełnić wiele instrukcji if.Sugerowałbym dodanie jQuery poprzez układ XML. W przypadku stron CMS możesz dodawać dodatkowy układ XML w panelu administratora podczas edycji strony. Tutaj znajduje się przykład ustawiania innego szablonu niż strona o nas. W ten sam sposób możesz dodać jQuery do strony o nas. Dodaj ten układ XML:
źródło
Lub po prostu skopiuj do Ciebie motyw reż, polub
skin\frontend\[your theme]\default\js\
i dodaj to do motywupage.xml
:źródło
Ok, znalazłem sposób, aby prototyp, jQuery i bootstrap działały bez ingerencji między sobą i bez użycia
jQuery.noConflict()
. Moja konfiguracja układu (page.xml
) była następująca (usunięta dla łatwiejszego odczytu):Pojawiały się błędy, takie jak:
Nie chciałem się zmieniać
$
wszędzie. Tak więc utworzyłem trzy pliki javascript w następujący sposób:Jak już zapewne można się domyślić, pierwszy skrypt przypisuje bieżącą
$
zmienną (będącą własnością prototypu) do zmiennej tymczasowej o nazwie$tempPrototypeDollar
. Drugi skrypt po prostu przypisujejQuery
do$
. Trzeci skrypt przypisuje treść z$tempPrototypeDollar
powrotem do$
.Zawarłem te trzy skrypty w następującej kolejności:
To rozwiązało wszystkie problemy dla mnie, a teraz jquery, bootstrap i prototyp, wszystko działa dobrze.
źródło
Uwzględnij następujące elementy u góry strony projektu
I użyj jQuery jak
$j
zamiast$(Eg:$j('.class').hide();)
PS: Możesz użyć dowolnej innej zmiennej zamiast
j
w var$j
źródło