Добрый день, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 CMS Status-X | Основная тема
         Предложения по Статусу

Похожие темы  |  Печать страницы

Предложения по Статусу


События Среда, 24.10.2012, 02:04

Yrok

Группа: Пользователь
Ранг: Новичок
Cообщений: 27
Регистрация: 16.01.2012
Город: Минск
Нетривиальность
Недавно столкнулся с задачей на своём сайте:
разместить галерею в одном из табов на странице.
Как оказалось не так то это просто. Для начала прикрутил Hislide галерею на локале к системе чтобы руками не заморачиваться, теперь вот не знаю как на контентную страницу запихать галерею. Хотелось бы реализовать подключение любых модулей на любую страницу. В одной из систем видел реализацию следующего плана:

В шаблоне прописывалось [#content#] [#galery#] и для каждой позиции можно было выбирать значение или оставлять пустым, беда системы была в том что на каждую страницу выбирался шаблон (это конечно мелочь, но работа с глобальными переменными в этом случае превращается в танцы с бубном)

Есть ли способ добавлять модули в произвольный контенет при помощи какого-нибудь синтаксиса типа того как добавляются элементы с Ютуба?

Пользователь офлайн
События Пятница, 26.10.2012, 04:54

Yrok

Группа: Пользователь
Ранг: Новичок
Cообщений: 27
Регистрация: 16.01.2012
Город: Минск
Обходной путь
Нашёл на просторах интернета великий скрипт на jQuery.
В общем-то не люблю трогать фреймворки из-за проблем совместимости между ними, стараюсь писать скрипты руками, так надёжнее, да и понятно что где и когда ломается.

Теперь к сути дела.
Столкнувшись с необходимостью разделения и вывода нужного мне контента на 1 странице (началось всё с категорий новостей) я перелопатил шаблоны и при помощи нехитрых условий SMARTY добавил пару новых шаблонов с новыми условиями для использования на главной странице. Это конечно ужасные костыли, но работало нормально... Пока не появилась новая задача: перепилить галерею под Hislide и вывести её на одной странице с прочим контентом всё так же в табах (что поделаешь - люблю их). И вот здесь капание в шаблонах помогло только одеть новый движок галереи, а сам же вывод оказался мне не по зубам, и условий найти для этого так же не получилось. Кроме того нельзя использовать SMARTY в редакторе контента, что ещё добавило сложностей к и без того нетривиальной для Статуса задаче.

В итоге я залез в сеть и выудил там скрипт, позволяющий с произвольной страницы в интернете (в моём случае из галереи на моём же сайте) вставлять контент из заданного блока в нужный блок на моей странице, а поскольку Hislide написан без jQuery, то конфликтов не возникло.

В итоге в нужном месте я просто вписываю DIV с нужным ID, а небольшой скрипт сам всё делает.

вот собственно и он, кому надо - пользуйтесь:
сама функция
Код
;(function($) {
$.lebnikLoad = function(selector, url, callback){ $(document.body).lebnikLoad(selector, url, callback, true); };
$.fn.lebnikLoad = function(selector, url, callback, without_selector_document){
var selector_document = this;
var e = $('<iframe style="display:none" src="'+url+'"></iframe>');
$(document.body).append( e );
$(e).load(function(){
var x = $(selector, e[0].contentWindow.document);
if(callback){
callback(x);
}else if(without_selector_document != true){
$(selector_document).html( $(x).html() );
}
});
};
})(jQuery);


и строка скрипта, которая ставится на странице

Код
$("#div_id").lebnikLoad("#источник_div_id", "адрес_страницы_с_которой_берутся_данные");


линк на автора статьи и скрипта

Всем удачи.
Благодарности Kurman, u816032
Пользователь офлайн


Похожие темы  |  Печать страницы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте


Пользователей: 1, Гостей: 3
EVM
Поисковые боты: 13
BingBot(4), Unknown Bot(2), Googlebot(3), Inktomi Slurp, oBot(2), Yandex

 Статистика форума


  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: Lesya

 Дни рождения


kostia.vinnychuk (34)
Печать | Copyright © 2009 - 2016 Status-X All rights reserved | Powered by CMS Status-X 1.05 | Контакты