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

9MiX

Новачок
  
  • Публікації

    2
  • З нами

  • Відвідування

Відвідувачі профілю

Блок відвідувачів профілю відключений і не буде доступний широкому іншим користувачам

9MiX's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

0

Репутація

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

×
×
  • Створити...

Important Information

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