Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Доработка слайдера


9MiX

Recommended Posts

Всем привет! Подскажите, пожалуйста, что я делаю не так? Версия ocStore 2.3.0.2.3.

Мне нужно к родному слайдеру добавить две картинки с ссылками как на картинке:

1.thumb.png.70e2c038b725c1453c100f6e766ac30f.png

Как добавить с помощью 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.thumb.jpg.8ae3090fee53dfba764628512c77f547.jpg

 То есть должно быть по аналогии как стандартное управление слайдерам только для 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'])) { что логичней то при этом будет ошибка отображена в самом шаблоне на месте где должна быть картинка с уклонам на то что это строка неправильная.

Всю голову сломал, как это сделать, кому не сложно подскажите в правильном ли я направлении или нет, а кому не сложно подскажите, как это реализовать. А то я пока новичок и ни разу не работал с движками.

Надіслати
Поділитися на інших сайтах


вот так проще хоть 100500 слайдеров банеров и чего угодно куда угодно и как угодно

 

  • +1 1
Надіслати
Поділитися на інших сайтах


5 минут назад, AWARO сказал:

вот так проще

Ну а все же как это можно сделать своими силами? Или может, как то можно допустим прикрутить к слайдеру обычный баннер стандартный? Только вот как не могу понять а примера в инете че то найти не могу(

 

Надіслати
Поділитися на інших сайтах


Проще не терять время (которое - деньги), а использовать готовое решение. Это выгоднее всего. Поверьте.
Круто, если вы додумаетесь - вы повысите свою квалификацию. Но... судя по тому что вы ищите примеры в инете, вы все равно не идете творческим путем...) Поэтому - лучше готовыми решениями пользоваться.

Надіслати
Поділитися на інших сайтах


В 29.09.2017 в 09:52, 9MiX сказал:

Всем привет! Подскажите, пожалуйста, что я делаю не так? Версия ocStore 2.3.0.2.3.

Мне нужно к родному слайдеру добавить две картинки с ссылками как на картинке:

 

1)оформляйте код

 

2) зачем такие извращения?

 

3) вот бесплатный модуль для создания новых позиций в макете https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=20569

 

выведите куда нужно, создайте новый баннер и прелипите его в макетах

 

делов на пять минут))

Надіслати
Поділитися на інших сайтах


5 часов назад, ardashev06 сказал:

 

1)оформляйте код

 

2) зачем такие извращения?

 

3) вот бесплатный модуль для создания новых позиций в макете https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=20569

 

выведите куда нужно, создайте новый баннер и прелипите его в макетах

 

делов на пять минут))

этот мод через одно место сделан

Надіслати
Поділитися на інших сайтах


18 минут назад, AWARO сказал:

этот мод через одно место сделан

а я и не спорю

топик стартер изъявил желание сделать что-то самостоятельно. вот и пусть посмотрит на хотя бы какую нибудь реализацию того, что ему нужно

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.