chocolate_moles Опубликовано 29 сентября, 2013 Жалоба Поделиться Опубликовано 29 сентября, 2013 (изменено) Модуль управления слайдером через панель администратораДобавление, удаление, изменение очередности слайдов через админкуДобавление ссылок и описанияАдаптивыный слайдер Nivo SliderПодробная инструкция по установкеsimplaSlider.rar Изменено 10 октября, 2015 пользователем chocolate_moles Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 29 сентября, 2013 Жалоба Поделиться Опубликовано 29 сентября, 2013 chocolate_moles Спасибо большое. Молодец! Можно ещё добавить включение и выключение картинки, чтобы не удалять, а когда нужно включать! Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 29 сентября, 2013 Жалоба Поделиться Опубликовано 29 сентября, 2013 ДОПОЛНЕНИЕ 1. в базе в s_slides добавляем поле visible: ALTER TABLE `s_slides` ADD `visible` TINYINT( 1 ) NOT NULL DEFAULT '1' AFTER `name` 2. в api/Slides.php добавляем в get_slide: visible, в этом же файле, ниже в get_slides добавляем: visible, 3. в файле simpla/design/html/sliders.tpl заменить: {foreach $slides as $slide} <div class="row"> на {foreach $slides as $slide} <div class="{if !$slide->visible}invisible{/if} row"> далее, после: <a class="delete" title="Удалить" href="#"></a> добавляем: <a class="enable" title="Активна" href="#"></a> далее, перед: <option value="delete">Удалить</option> добавляем: <option value="enable">Сделать видимыми</option> <option value="disable">Сделать невидимыми</option> ниже в скриптах добавляем: // Включение и выключение изображения $("a.enable").click(function() { var icon = $(this); var line = icon.closest(".row"); var id = line.find('input[type="checkbox"][name*="check"]').val(); var state = line.hasClass('invisible')?1:0; icon.addClass('loading_icon'); $.ajax({ type: 'POST', url: 'ajax/update_object.php', data: {'object': 'slide', 'id': id, 'values': {'visible': state}, 'session_id': '{/literal}{$smarty.session.id}{literal}'}, success: function(data){ icon.removeClass('loading_icon'); if(state) line.removeClass('invisible'); else line.addClass('invisible'); }, dataType: 'json' }); return false; }); 4. в файле simpla/SlidesAdmin.php в if($this->request->method('post')) после: switch($this->request->post('action')) { добавляем case 'disable': { foreach($ids as $id) $this->slides->update_slide($id, array('visible'=>0)); break; } case 'enable': { foreach($ids as $id) $this->slides->update_slide($id, array('visible'=>1)); break; } 5. в шаблоне сайта в файле slider/slider.tpl вывод картинки обернуть: {if $s->visible}вывод картинки{/if} 6. в файле simpla\ajax\update_object.php добавляем: case 'slide': if($simpla->managers->access('slides')) $result = $simpla->slides->update_slide($id, $values); break; 7. в файле slides.css добавляем: .slide .title .enable{ float:right; background-image: url(../images/lightbulb.png); padding: 8px; margin: 2px; zoom: 1; background-position: center center; background-repeat: no-repeat; } .invisible .slide .title .enable{ float:right; background-image: url(../images/lightbulb_off.png); padding: 8px; margin: 2px; zoom: 1; background-position: center center; background-repeat: no-repeat; } Теперь есть возможность выключать/включать картинку Цитата Ссылка на сообщение Поделиться на другие сайты
bjiaguk Опубликовано 7 ноября, 2013 Жалоба Поделиться Опубликовано 7 ноября, 2013 возникло несколько вопросов по Дополнению:2. в api/Slides.php добавляем в get_slide: visible, - нельзя ли для новичков чуть подробнее? куда тут добавлять-то /* * * Функция возвращает слайд по его id или url * */ public function get_slide($id) { if(is_int($id)) $filter = $this->db->placehold('id = ?', $id); else $filter = $this->db->placehold('url = ?', $id); $query = "SELECT id, name, url, description, image, position FROM __slides WHERE $filter ORDER BY position LIMIT 1"; $this->db->query($query); return $this->db->result(); } 5. в шаблоне сайта в файле slider.tpl вывод картинки обернуть: {if $s->visible}вывод картинки{/if} тоже не ясно куда это записывать.Лампочки на слайдах появились - имитируют работу, выпадающий список предлагает сделать слайды видимым/невидимым, но они не отключаются. Подозреваю не туда визибл с выводом картинок вставил. Цитата Ссылка на сообщение Поделиться на другие сайты
Sulla Опубликовано 13 ноября, 2013 Жалоба Поделиться Опубликовано 13 ноября, 2013 Тут 2. в api/Slides.php добавляем в get_slide: visible, - в запрос , выделено: public function get_slide($id) { ... $query = "SELECT id, name, visible, url, description, image, position FROM __slides WHERE $filter ORDER BY position LIMIT 1"; ... } 5. в шаблоне сайта в файле slider.tpl вывод картинки обернуть: {if $s->visible} <div class="slider-wrapper theme-default"> .... </div> ... {/if} <script type="text/javascript"> $(window).load(function() {Так понятнее ? Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 14 ноября, 2013 Жалоба Поделиться Опубликовано 14 ноября, 2013 Второй пункт правильно! В пятом пункте нужно обернуть в файле /slider/slider.tpl вот так: {foreach $slide as $s} {if $s->visible} {if $s->image} {if $s->url}<a href="{$s->url}">{/if} <img src="{$s->image}" alt="" {if $s->description}title="#slide_{$s->id}"{/if} /> {if $s->url}</a>{/if} {/if} {/if} {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
Vasiliy-lv Опубликовано 30 ноября, 2013 Жалоба Поделиться Опубликовано 30 ноября, 2013 chocolate_moles, Спасибо всё работает отлично Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 30 ноября, 2013 Жалоба Поделиться Опубликовано 30 ноября, 2013 А зачем делать проверку в шаблоне условием {if $s->visible} если можно сразу в функции выбора слайдов это сделать, т.е. в api? Цитата Ссылка на сообщение Поделиться на другие сайты
Виталий Анатольевич Опубликовано 3 декабря, 2013 Жалоба Поделиться Опубликовано 3 декабря, 2013 А зачем делать проверку в шаблоне условием {if $s->visible} если можно сразу в функции выбора слайдов это сделать, т.е. в api? В админке ведь нужно отображать и выключенные слайды PS Было бы хорошо поставить ресайзер... ну или могу сам накатать "дополнение" Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 3 декабря, 2013 Жалоба Поделиться Опубликовано 3 декабря, 2013 В админке ведь нужно отображать и выключенные слайды PS Было бы хорошо поставить ресайзер... ну или могу сам накатать "дополнение"Ну а в чем проблема использовать фильтр т.е. $filter['visible']? Цитата Ссылка на сообщение Поделиться на другие сайты
Виталий Анатольевич Опубликовано 3 декабря, 2013 Жалоба Поделиться Опубликовано 3 декабря, 2013 эту причину никто кроме разработчика не знает Цитата Ссылка на сообщение Поделиться на другие сайты
antin Опубликовано 19 декабря, 2013 Жалоба Поделиться Опубликовано 19 декабря, 2013 Если в друг кто то неумеет самостоятельно устанавливать, обращайтесь к автору chocolate_molesЯ сам несмог поставить, мучался день (безрукий)chocolate_moles установил все за 15 мин, понятное дело за вознаграждение, за это ему спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
partizzzzzan Опубликовано 19 декабря, 2013 Жалоба Поделиться Опубликовано 19 декабря, 2013 Думаю данное решение нужно бы включить в дистрибутив SImpla Цитата Ссылка на сообщение Поделиться на другие сайты
Reni Опубликовано 13 января, 2014 Жалоба Поделиться Опубликовано 13 января, 2014 (изменено) Данный модуль работает на 2.2.4? Все сделал в точности как в описании, но даже в админке ничего не появилось. Все, разобрался... Если у вас версия 2.1.5 и ниже, пропустите этот шаг, и переходите к настройке базы данных Откройте файл api/Managers.php и добавьте Хоть у меня и 2.2.4 но я решил не пропускать этот шаг и все заработало) Почему то сначала загружается сайт, и спустя некоторое время подгружается слайдер. Это его особенность или я что-то не так сделал? Изменено 13 января, 2014 пользователем Reni Цитата Ссылка на сообщение Поделиться на другие сайты
Mike Опубликовано 13 января, 2014 Жалоба Поделиться Опубликовано 13 января, 2014 Спасибо за слайдер, очень круто сделано! Поставил сразу, с первого раза удачно. Цитата Ссылка на сообщение Поделиться на другие сайты
venDETTa Опубликовано 24 января, 2014 Жалоба Поделиться Опубликовано 24 января, 2014 Почему то сначала загружается сайт, и спустя некоторое время подгружается слайдер. Это его особенность или я что-то не так сделал? Таже фигня и это не комильфо, надо как-то пофиксить это Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 24 января, 2014 Автор Жалоба Поделиться Опубликовано 24 января, 2014 Таже фигня и это не комильфо, надо как-то пофиксить это Нужно выставить высоту контейнера в файле slider/css/nivo-slider.css .nivoSlider { position:relative; width:100%; height:auto; overflow: hidden; height: 350px; // Высота равна высоте ваших изображений} Цитата Ссылка на сообщение Поделиться на другие сайты
nitrol Опубликовано 25 января, 2014 Жалоба Поделиться Опубликовано 25 января, 2014 у меня после внесения изменения из апдейта перестали на сайте отображаться. в коде страницы <div id="content"> <h1>Главная</h1> <script src="slider/js/jquery.nivo.slider.pack.js" type="text/javascript"></script> <link rel="stylesheet" href="slider/css/nivo-slider.css" type="text/css" media="screen"> <link rel="stylesheet" href="slider/css/themes/default/default.css" type="text/css" media="screen"> <div id="slide_1" class="nivo-html-caption"> 123123 </div> <div id="slide_2" class="nivo-html-caption"> kfrf[jcn </div> <script type="text/javascript"> $(window).load(function() { $('#slider').nivoSlider({ pauseTime: 5000 }); }); </script> подскажите что не так? буд-то они постоянно стали скрытыми разобрался, не там обернул проверку в тпл шаблоне Цитата Ссылка на сообщение Поделиться на другие сайты
venDETTa Опубликовано 26 января, 2014 Жалоба Поделиться Опубликовано 26 января, 2014 Нужно выставить высоту контейнера в файле slider/css/nivo-slider.css это конечно понятно, фишка в том что происходит инициализация слайдера и это занимает время. В это время должна отображаться первая картинка, а сейчас только после инициализации скрипта появляется первая картинка. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 января, 2014 Жалоба Поделиться Опубликовано 26 января, 2014 это конечно понятно, фишка в том что происходит инициализация слайдера и это занимает время. В это время должна отображаться первая картинка, а сейчас только после инициализации скрипта появляется первая картинка.Картинка появляется после инициализации слайдера. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 января, 2014 Жалоба Поделиться Опубликовано 26 января, 2014 Нашел один баг в модуле.В функции удаления изображения api/Slides.php строка 126: @unlink($this->config->root_dir.$filename); ссылается на неверный путь к картинке, возможно нужно поправить на: @unlink($this->config->root_dir.$this->config->slides_images_dir.$filename); Иначе после удаления слайда сама картинка не удалится с папки и будет там лежать занимая место. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 января, 2014 Жалоба Поделиться Опубликовано 26 января, 2014 Еще один баг.Если в админке на странице слайдов выбрать и удалить слайды, то с БД записи о слайдах пропадут но не сотрутся картинки с папки слайдов.Все из-за того что при удалении выполняется функция delete_slide (файл simpla/SlidesAdmin.php строка 22), но не выполняется функция удаления изображения с папки слайдов (delete_image). Советую и это поправить.P.S. Удивляет что за 4 месяца никто этих ошибок не заметил, просмотрев код 2 минуты это сделал я Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 27 января, 2014 Автор Жалоба Поделиться Опубликовано 27 января, 2014 У меня все удаляется, только что проверил на чистой симпле. Возможно проблема в индивидуальных настройках, пути или имени файла. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 27 января, 2014 Жалоба Поделиться Опубликовано 27 января, 2014 У меня все удаляется, только что проверил на чистой симпле. Возможно проблема в индивидуальных настройках, пути или имени файла.Как это так если код неправильный? странно, проверю у себя и отпишусь. Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 27 января, 2014 Автор Жалоба Поделиться Опубликовано 27 января, 2014 Как это так если код неправильный? странно, проверю у себя и отпишусь. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.