Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля
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"); ?>

можно указать разделы, из которых выводить изображения.
Или создать отдельное поля, для вывода изображений в слайдере.
198 196 2012-09-12 19:45:06 12576
Описание проекта