Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


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

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

Link to post
Share on other sites

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

 

  • +1 1
Link to post
Share on other sites
5 минут назад, AWARO сказал:

вот так проще

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

 

Link to post
Share on other sites

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

Link to post
Share on other sites

В 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

 

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

 

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

Link to post
Share on other sites

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

 

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

 

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

 

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

 

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

 

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

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

Link to post
Share on other sites
18 минут назад, AWARO сказал:

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

а я и не спорю

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.