Всем привет! Подскажите, пожалуйста, что я делаю не так? Версия ocStore 2.3.0.2.3.
Мне нужно к родному слайдеру добавить две картинки с ссылками как на картинке:
Как добавить с помощью html и css это понятно вот пример как сейчас:
<div id="slideshow_conteiner">
<div id="slideshow<?php echo $module; ?>" class="slider">
<?php foreach ($banners as $banner) { ?>
<div class="item">
<?php if ($banner['link']) { ?>
<a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" class="img-responsive" /></a>
<?php } else { ?>
<img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" class="img-responsive" />
<?php } ?>
</div>
<?php } ?>
</div>
<div class="static_picture">
<a href="#"><img src="image/catalog/foto/banners/static_picture1.jpg" alt="static_picture1" class="static_img"></a>
<a href="#"><img src="image/catalog/foto/banners/static_picture2.jpg" alt="static_picture2" class="static_img"></a>
</div>
<div style="clear:both;"></div>
</div>
<script type="text/javascript">
$('#slideshow<?php echo $module; ?>').slider({
items: 6,
autoPlay: false,
singleItem: true,
navigation: true,
navigationText: ['<i class="fa fa-chevron-left fa-5x"></i>', '<i class="fa fa-chevron-right fa-5x"></i>'],
pagination: false
});
</script>
А вот как сделать, так что бы в админке там, где находиться слайдер по пути дизайн/баннеры была возможность добавлять эти картинки, а так же заголовки и ссылку к ним? А то так править данные можно только не посредственно залазив в код что не удобно для пользователя.
Вот бы чего хотелось видеть в админке в управлении слайдерам пример на картинке.
То есть должно быть по аналогии как стандартное управление слайдерам только для 2ух картинок.
Вот что я пробовал сделать, но пока нечего не выходит:
Я зашел в PHPMyAdmin и там нашел таблицу oc_banner_image и вней перешел в вкладку структура и там добавил к уже имеющимся столбцам таким как:
banner_image_id
banner_id
language_id
title
link
image
sort_order
Дабавил к ним вот эти:
Title2
Link2
Image2
После открыл файл banner.php и добавил в данный участок кода:
$data['banner_images'] = array();
foreach ($banner_images as $key => $value) {
foreach ($value as $banner_image) {
if (is_file(DIR_IMAGE . $banner_image['image'])) {
$image = $banner_image['image'];
$thumb = $banner_image['image'];
} else {
$image = '';
$thumb = 'no_image.png';
}
$data['banner_images'][$key][] = array(
'title' => $banner_image['title'],
'link' => $banner_image['link'],
'image' => $image,
'title2' => $banner_image['title2'],
'link2' => $banner_image['link2'],
'image2' => $image,
'thumb' => $this->model_tool_image->resize($thumb, 100, 100),
'sort_order' => $banner_image['sort_order']
);
}
}
После открыл файл slideshow.php и там скопировал следующий участок кода и добавил в него по аналогии:
1)Часть кода для слайдера:
foreach ($results as $result) {
if (is_file(DIR_IMAGE . $result['image'])) {
$data['banners'][] = array(
'title' => $result['title'],
'link' => $result['link'],
'image' => $this->model_tool_image->resize($result['image'], $setting['width'], $setting['height'])
);
}
}
2) Часть кода для картинок с правой стороны от слайдера:
Это код который добавил:
foreach ($results as $result) {
if (is_file(DIR_IMAGE . $result['image'])) {
$data['banners'][] = array(
'title2' => $result['title2'],
'link2' => $result['link2'],
'image2' => $this->model_tool_image->resize($result['image2'], $setting['width'], $setting['height'])
);
}
}
После я открыл файл banner_form.tpl и нашел вот этот участок кода:
<?php if (isset($banner_images[$language['language_id']])) { ?>
<?php foreach ($banner_images[$language['language_id']] as $banner_image) { ?>
<tr id="image-row<?php echo $image_row; ?>">
<td class="text-left"><input type="text" name="banner_image[<?php echo $language['language_id']; ?>][<?php echo $image_row; ?>][title]" value="<?php echo $banner_image['title']; ?>" placeholder="<?php echo $entry_title; ?>" class="form-control" />
<?php if (isset($error_banner_image[$language['language_id']][$image_row])) { ?>
<div class="text-danger"><?php echo $error_banner_image[$language['language_id']][$image_row]; ?></div>
<?php } ?></td>
<td class="text-left" style="width: 30%;"><input type="text" name="banner_image[<?php echo $language['language_id']; ?>][<?php echo $image_row; ?>][link]" value="<?php echo $banner_image['link']; ?>" placeholder="<?php echo $entry_link; ?>" class="form-control" /></td>
<td class="text-center"><a href="" id="thumb-image-<?php echo $image_row; ?>" data-toggle="image" class="img-thumbnail"><img src="<?php echo $banner_image['thumb']; ?>" alt="" title="" data-placeholder="<?php echo $placeholder; ?>" /></a>
<input type="hidden" name="banner_image[<?php echo $language['language_id']; ?>][<?php echo $image_row; ?>][image]" value="<?php echo $banner_image['image']; ?>" id="input-image<?php echo $image_row; ?>" /></td>
<td class="text-right" style="width: 10%;"><input type="text" name="banner_image[<?php echo $language['language_id']; ?>][<?php echo $image_row; ?>][sort_order]" value="<?php echo $banner_image['sort_order']; ?>" placeholder="<?php echo $entry_sort_order; ?>" class="form-control" /></td>
<td class="text-left"><button type="button" onclick="$('#image-row<?php echo $image_row; ?>, .tooltip').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>
</tr>
<?php $image_row++; ?>
<?php } ?>
<?php } ?>
Скопировал его и поменял в нем:
$banner_image['title']; на $banner_image['title2'];
$banner_image['link']; на $banner_image[' link2'];
$banner_image['image']; на $banner_image[' image2'];
Далее открыл файл slideshow.tpl который был в самом начале обращения и добавил туда следующее:
<?php if ($banner['link2']) { ?>
<a href="<?php echo $banner['link2']; ?>"><img src="<?php echo $banner['image2']; ?>" alt="<?php echo $banner['title2']; ?>" class="img-responsive" /></a>
<?php } else { ?>
<img src="<?php echo $banner['image2']; ?>" alt="<?php echo $banner['title2']; ?>" class="img-responsive" />
<?php } ?>
В итоге при добавлении
'title2' => $banner_image['title2'],
'link2' => $banner_image['link2'],
'image2' => $image,
в banner.php в админке появились иероглифы и сообщение об ошибках, ссылающихся на эти три строчки.
При добавлении этих трек строк в slideshow.php ошибок нет и даже появляется в шаблоне картинка (которая ставиться автоматом, если нет изображения).
Но я с точностью уверен, что даже эти три строчки тоже не верны, так как если в данном участке кода:
foreach ($results as $result) {
if (is_file(DIR_IMAGE . $result['image'])) {
$data['banners'][] = array(
Вместо if (is_file(DIR_IMAGE . $result['image'])) { поставить if (is_file(DIR_IMAGE . $result['image2'])) { что логичней то при этом будет ошибка отображена в самом шаблоне на месте где должна быть картинка с уклонам на то что это строка неправильная.
Всю голову сломал, как это сделать, кому не сложно подскажите в правильном ли я направлении или нет, а кому не сложно подскажите, как это реализовать. А то я пока новичок и ни разу не работал с движками.