|
|
10.09.2012, 11:12
|
|
Heidel
Зарегистрирован: 2012-06-27
Сообщений: 65
|
Слайдер работает на сайте, который лежит на локальном сервере, но при разработке сайта на неткат слайдер бегать перестает.
В макете дизайна прописано подключение библиотек и скрипт слайдера
Код:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="/netcat_template/jquery/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="/netcat_template/jquery/jquery-ui-1.8.23.custom.min.js"></script>
<script type="text/javascript" src="/netcat_template/jquery/easySlider1.7.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#slider").easySlider({
auto: true,
continuous: true,
speed: 3000,
controlsShow: false,
pause: 8000
});
});
</script>
объекты для слайдера выводятся из нескольких подразделов
Код:<!-- Слайдер -->
<div id="slider-box">
<div id="slider">
<?= nc_objects_list(342, 529, "nc_ctpl=521"); ?>
<?= nc_objects_list(343, 530, "nc_ctpl=521"); ?>
<?= nc_objects_list(344, 531, "nc_ctpl=521"); ?>
</div></div>
шаблон 521, по которому в слайдер выводят объекты
Префикс
Код:<? if($f_Image && $f_Description) {
?>
<!-- шаблон для отображения списка товаров в слайдере на титульной странице -->
<ul>
<?
}
?>
Объект в списке
Код:<? if($f_Image && $f_Description) {
?>
<li>
<div class="slider-box">
<div class="subcolumns slide">
<div class="c50l">
<div class="subc">
<img src="<?= $f_Image ?>" title="<?= $f_ProductTitle ?>" height="260" width="320">
</div>
</div>
<div class="c50r">
<div class="subl">
<div class="medium-shadow"><div class="box">
<h3><a href="<?= $fullLink ?>"><?= $f_ProductTitle ?></a></h3>
<p><?= $f_Description ?> <a href="<?= $fullLink ?>">Подробнее</a></p>
</div></div>
</div>
</div>
</div>
</div>
</li>
<?
}
?>
Суффикс
Код:<? if($f_Image && $f_Description) {
?> </ul>
<?
}
?>
Если влезть в исходный код страницы, на которой должен быть слайдер, видно, что объекты, у которых поля Image и Description заполнены, в исходном коде присутствуют, но на странице отображается только один объект, слайдер не двигается.
Чем это может быть вызвано?
Сайт на неткат5.
|
|
|
10.09.2012, 14:58
|
|
Heidel
Зарегистрирован: 2012-06-27
Сообщений: 65
|
Опытным путем было выяснено, что условие
Код:<? if($f_Image && $f_Description) {
?>
//...
<?
}
?>
в префиксе и суффиксе объекта не отрабатывает, соответственно, начальный и конечный теги списка в код не попадали, поэтому слайдер не работал.
Если убрать условие из префикса и суффикса, оставить там просто открывающий и закрывающий теги списка соответственно, и оставить условие if($f_Image && $f_Description) только в Объекте в списке, то слайдер работает, но так как не все объекты из списка проходят по условию if($f_Image && $f_Description), то в коде странице висит много пустых тегов <ul></ul>.
Можно сделать так, чтобы условие в префиксе и суффиксе все-таки как-то проверялось?
|
|
|
12.09.2012, 09:26
|
|
llkp
Ruslan Kimov
Зарегистрирован: 2010-08-23
Сообщений: 81
|
Можно проверять общее кол-во объектов, а лучше сделать отдельный шаблон компонента и ограничить выборку через $query_where.
|
|
|
12.09.2012, 11:42
|
|
Heidel
Зарегистрирован: 2012-06-27
Сообщений: 65
|
Приведенный выше код это и есть код из отдельного шаблона компонента.
В общем, пока выкинула весь код из суффикса и префикса шаблона, и теги списка перенесла в макет дизайна
Код:<!-- Слайдер -->
<div id="slider-box">
<div id="slider">
<ul>
<?= nc_objects_list(342, 529, "nc_ctpl=521"); ?>
<?= nc_objects_list(343, 530, "nc_ctpl=521"); ?>
<?= nc_objects_list(344, 531, "nc_ctpl=521"); ?>
</ul>
</div></div>
А как можно в шаблоне сделать выборку через $query_where ?
|
|
|
12.09.2012, 19:45
|
|
llkp
Ruslan Kimov
Зарегистрирован: 2010-08-23
Сообщений: 81
|
Цитата:А как можно в шаблоне сделать выборку через $query_where ?
В системных настройках шаблона.
Мне кажется, вместо
Код:<?= nc_objects_list(342, 529, "nc_ctpl=521"); ?>
<?= nc_objects_list(343, 530, "nc_ctpl=521"); ?>
<?= nc_objects_list(344, 531, "nc_ctpl=521"); ?>
можно указать разделы, из которых выводить изображения.
Или создать отдельное поля, для вывода изображений в слайдере.
|