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

9MiX

Newbie
  
  • Posts

    2
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

9MiX's Achievements

Newbie

Newbie (1/14)

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

Recent Badges

0

Reputation

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