|
Alex_B
|
 |
« : 13.07.2007, 17:04:23 » |
|
Легкий web2.0Здесь предполагается обсуждение проекта “Легкий web2.0”. Цель проекта сделать сайты на Joomla! более современными и дружелюбными к пользователю. Более подробно читайте в статье " Использование AJAX в шаблонах Joomla" на joomlaportal.ru DEMOИстория версий:v 0.3v 0.4v 0.4.2ВНИМАНИЕ:Ни какого отношения к сайту http://maxaman-soft.ru/ я давно не имею. Домен был куплен кем-то другим, на сайте обнаружены и мои разработки, эксперименты - в каком они состоянии, и что там может быть изменено не извесно. По этому если вдруг будет желание что-то качать, то делайте это только с этого форума! (только сейчас обнаружил 09.06.09)
|
|
|
|
« Последнее редактирование: 09.06.2009, 10:16:49 от Alex_B »
|
Записан
|
|
|
|
| |
talion2003
Давно я тут
  
Репутация: +36/-6
Offline
Сообщений: 285
Не программер я...
|
 |
« Ответ #211 : 04.01.2008, 17:34:09 » |
|
В том то и дело, что для меня это вовсе не проще  Эх, похоже с аяксом придется повременить...
|
|
|
|
|
Записан
|
|
|
|
talion2003
Давно я тут
  
Репутация: +36/-6
Offline
Сообщений: 285
Не программер я...
|
 |
« Ответ #212 : 04.01.2008, 17:41:52 » |
|
Если ты говоришь про вот это (http://joomlaforum.ru/index.php/topic,16631.msg122388.html#msg122388), то я там вообще ничего не понял и что-то не очень хочется, чтобы у меня в шаблоне такая куча явы болталась.
Я пробовал вот это - http://joomlaforum.ru/index.php/topic,16631.msg120496.html#msg120496. Это поучается, файл подгружается.
Но все остальные примеры не получаются.
|
|
|
|
|
Записан
|
|
|
|
talion2003
Давно я тут
  
Репутация: +36/-6
Offline
Сообщений: 285
Не программер я...
|
 |
« Ответ #213 : 04.01.2008, 17:59:37 » |
|
Вот еще так попробовал:
<a href="http://localhost/chelovekdnevnik/index2.php?option=com_frontpage&Itemid=1&no_html" ax:id="content">link</a> <div id="content"></div>
<script> //это опредление фильтра - сначала определяешь - потом применяешь SRAX.Filter.add({ url:'http://localhost/chelovekdnevnik/index2.php?option=com_frontpage&Itemid=1&no_html', urlType:'contain', id:'content' }); SRAX.Filter.wrap(); //применить определенные фильтры //вызывать надо однажды //для заворачивания того что не прошло через либу //все что проходит черех hax само врапится </script>
Не выходит. Вроде действие какое-то происходит, строка сдвигается вниз, будто открылось что-то, а самого текста нет.
|
|
|
|
|
Записан
|
|
|
|
yunoshev
Разработчик расширений для Joomla 1.0
Репутация: +131/-1
Offline
Пол: 
Сообщений: 915
|
 |
« Ответ #214 : 05.01.2008, 17:56:22 » |
|
Alex_B, уже все пошло! Перечитал еще раз все сообщения с начала топика, добавил в index2.php header("Content-Type: text/html; charset=windows-1251"); перед $_MOS_OPTION['buffer'] = ob_get_contents();
, и теперь у меня и в Опере, и ИЕ -- одинаковый результат!  Только в FF не пробовал. Причем обошелся самым первым вариантом ajaxlib.js. Единственное, что еще хотел у вас спросить, -- где/как настроить вывод "Подождите, идет загрузка...". Пытался перенять у варианта Joomlajax, но ничего не вышло. Отрабатывать это сообщение в функции function loadpage(page_request, containerid){} или в другом месте? Заранее благодарен!
|
|
|
|
« Последнее редактирование: 01.06.2009, 20:23:34 от yunoshev »
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #215 : 08.01.2008, 00:23:14 » |
|
Вот еще так попробовал:
<a href="http://localhost/chelovekdnevnik/index2.php?option=com_frontpage&Itemid=1&no_html" ax:id="content">link</a> <div id="content"></div>
<script> //это опредление фильтра - сначала определяешь - потом применяешь SRAX.Filter.add({ url:'http://localhost/chelovekdnevnik/index2.php?option=com_frontpage&Itemid=1&no_html', urlType:'contain', id:'content' }); SRAX.Filter.wrap(); //применить определенные фильтры //вызывать надо однажды //для заворачивания того что не прошло через либу //все что проходит черех hax само врапится </script>
Не выходит. Вроде действие какое-то происходит, строка сдвигается вниз, будто открылось что-то, а самого текста нет.
1) неправильно определен фильтр в fullajax для большей гибкости комбинирования фильтров разделенно понятие url и query, url в fullajax == pathname - т.е. данном случае /chelovekdnevnik/index2.php, в url не должны входить параметры запроса в твоем случае url = /chelovekdnevnik/index2.php query = option=com_frontpage&Itemid=1&no_html <a href="http://localhost/chelovekdnevnik/index2.php?option=com_frontpage&Itemid=1&no_html">link</a> <div id="content"></div> <script> //это опредление фильтра - сначала определяешь - потом применяешь SRAX.Filter.add({ url:'index2.php', urlType:'contain', //или так // query:'Itemid=1', // queryType:'contain', id:'content' }); SRAX.Filter.wrap(); //применить определенные фильтры //вызывать надо однажды //для заворачивания того что не прошло через либу //все что проходит черех hax само врапится </script> P.S.: посмотри в исходнике описание SRAX.Filter - там указаны какие могут быть параметры для определения фильтра 2) ax:id - работает без фильтра - это альтернатива фильтрации, если ты определяеш этот параметр - тогда фильтр не нужен, но ОБЯЗАТЕЛЬНО необходимо применить SRAX.Filter.wrap() - если контент не был подгружен через fullajax <a href="http://localhost/chelovekdnevnik/index2.php?option=com_frontpage&Itemid=1&no_html" ax:id="content">link</a> <div id="content"></div> <script> SRAX.Filter.wrap(); </script> 3) юзай http://getfirebug.com/ - это поможет тебе найти ошибки, узнать приходит ли ответ от сервера и в каком виде, вообщем поможет в разработке вот я выложил работающие примеры http://fullajax.ru/examples/filters.html
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #216 : 14.01.2008, 20:44:08 » |
|
На http://www.fullajax.ru доступно обновление
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #217 : 20.01.2008, 02:58:14 » |
|
Не нравится ссылки такого рода: http://liteweb.maxaman-soft.ru/content/view/2/1/#content/view/2/1/
можно ли как-то сбрасывать до вида: http://liteweb.maxaman-soft.ru/#content/view/2/1/ если с предыдущей ссылки переходим на другую ссылку.
пожалуйста, по вашим просьбам я реализовал такой функционал - походите по сайту www.fullajax.ru, пооткрывайте страницы в новых табах (окнах), теперь все АЯКС ссылки начинаются от корня сайта, независимо от стартовой страницы входа в сайт ------- имеется еще одна проблема прямых АЯКС ссылок, никем не решенная (по крайней мере я нигде не встречал ее решение), - это первый холостой запрос, т.е. если перейти по ссылке www.fullajax.ru/#:news, то видно как изначально грузится контент главной страницы, а потом догружается контент указанной ссылки, это особенность АЯКС ссылок. Но! Хочу обрадовать любителей АЯКСа, я придумал решение данной проблемы, без страдания индексации сайта. Если boston возмется немножко доработать серверную часть = ждите в ближайшее время первое на нашей планете решение данной проблемы  .
|
|
|
|
|
Записан
|
|
|
|
|
boston
|
 |
« Ответ #218 : 21.01.2008, 08:41:44 » |
|
si-rus, я готов 
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #219 : 21.01.2008, 11:09:12 » |
|
si-rus, озвученная Dutch проблема, решена и у меня.
По поводу "видно как изначально грузится контент главной страницы, а потом догружается контент указанной ссылки" можно не ждать загрузки страницы, а где-нибудь в HEAD страницы проверять урл и если это не корень сайта то сразу начинать грузить нужный материал
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #220 : 21.01.2008, 13:41:27 » |
|
si-rus, озвученная Dutch проблема, решена и у меня.
круто, молодец!, - а как посмотреть на ее работоспособность ? По поводу "видно как изначально грузится контент главной страницы, а потом догружается контент указанной ссылки" можно не ждать загрузки страницы, а где-нибудь в HEAD страницы проверять урл и если это не корень сайта то сразу начинать грузить нужный материал
слабо понятно что ты имеешь ввиду, можеш расписать поподробнее? на примере каком нибудь ...может мысль толковая
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #221 : 21.01.2008, 14:10:59 » |
|
круто, молодец!, - а как посмотреть на ее работоспособность ?
уже нашел, вот тут http://maxaman-soft.ru/, работает хорошо
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #222 : 21.01.2008, 14:14:49 » |
|
а как посмотреть на ее работоспособность ?
Зайди с включенным JS на страницу http://maxaman-soft.ru/content/blogcategory/4/7/ Просто при загрузки сразу проверяем алресную строку, если там не корень и нет знака #, то мы делим урл на корень и все остальное. И вставляем между двумя половинками знак #. Теперь это уже правильный адрес и он будет корректно обработан. Подставляем полученную строку в адресную строку браузера. Вот код: var url = window.location.href, bool1 = false, bool2 = false; if(window.location.href.indexOf('www') != -1){
url = window.location.href.replace(/www./, '');
bool1 = true; } var n = (navigator.appName == "Microsoft Internet Explorer") ? 24: 23; if((url.length > n) && (window.location.hash.length < 2)){
url = url.replace(/#/, '');
var hash = url.substring(23,url.length);
url = url.replace(hash, '#' + hash);
bool2 = true; } if(bool1 || bool2){window.location.href = url}
Тут я еще вырезаю www из урл, что бы не было проблем с доменами безопасности. Числа 24 и 23: var n = (navigator.appName == "Microsoft Internet Explorer") ? 24: 23;
Зависят от доменного имени. IE автоматически прибавляет знак # (это у меня так получается), даже если это корень страницы, поэтому для него 23+1 (определение этих чисел можно автоматизировать, выводить доменное имя с помощью php как строку JS. И потом считать на JS её длинну.) слабо понятно что ты имеешь ввиду, можеш расписать поподробнее? на примере каком нибудь ...может мысль толковая
Когда еще ничего не начало грузится (в самом начале HEAD) выхватываем адресную строку и посылаем Ajax запрос, как и при щелчке пользователя на ссылке.
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #223 : 21.01.2008, 15:33:11 » |
|
... Просто при загрузки сразу проверяем алресную строку, если там не корень и нет знака #, то мы делим урл на корень и все остальное. И вставляем между двумя половинками знак #.
ага, круто, у меня такой же принцип - редирект <script ax:skip="1" type="text/javascript"> var items = [74,75,76,77,78,79,80,81,83,84]; var pages = ['news', 'technology', 'portfolio', 'developers', 'links', 'connection', 'license', 'forum', 'contacts', 'download']; var search = location.search; if (search) for (var i = 0; i < items.length; i++) if (search.indexOf('Itemid='+items[i])!= -1) location.href = '/#:'+pages[i]; </script>
только вдобавок я использую полезную фичу в либе ax:skip="1" - данный скрипт не будет выполнен при подгрузке контента с помощью "фула" планирую в дальнейшем внедрить прямо в либу, и активировать данную финкцию по какойто опцие Когда еще ничего не начало грузится (в самом начале HEAD) выхватываем адресную строку и посылаем Ajax запрос, как и при щелчке пользователя на ссылке.
ага так можно, только все равно контент стартовой страницы загрузится - лишний трафик, проблема не так в перемаргивании, как в лишней загрузке контента
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #224 : 22.01.2008, 13:44:01 » |
|
немного покумекав, оказалось что реализация относительно fullajax может быть еще проще ... всего одна строчка <script ax:skip="1" type="text/javascript"> if (location.search) location.href = '/#:'+location.search; </script>

|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #225 : 09.02.2008, 13:40:47 » |
|
navigator.appName == "Microsoft Internet Explorer"
думаю, что это не совсем корректно будет. проверку на браузер лучше либо проводить на уровне PHP либо выдрать функции из MT или JQ
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #226 : 09.02.2008, 15:52:36 » |
|
думаю, что это не совсем корректно будет. проверку на браузер лучше либо проводить на уровне PHP либо выдрать функции из MT или JQ
Почему на php лучше? Да и зачем мешать - это определение нужно только в том случае если включен JS.
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #227 : 12.02.2008, 19:25:28 » |
|
думаю, что это не совсем корректно будет. проверку на браузер лучше либо проводить на уровне PHP либо выдрать функции из MT или JQ
как раз проверку надо на уровне ЖабаСкрипта делать, потому как если его нету, тогда эти все "мутки" никчему
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #228 : 13.02.2008, 02:14:06 » |
|
вообщем эксперимент с реализацией прямых АЯКС ссылок без лишнего запроса даных (первый запрос стартовой страницы - видно как бы перемаргивание), удался ровно на 50%: а именно - в ФФ и Сафари все работает круто, а вот в ИЕ и Опере нет, как всегда эти два браузера отобрали больше всего времени и к тому же безрезультатно  ... проблема в том что ИЕ при редиректе теряет реферера (referrer), как при редиректе с помощью ЖабаСкрипта так и с помощью серверных функций... буду думать, что еще можно придумать  ... а пока можете проверить как работают прямые ссылки в ФФ и Сафари (у кого он есть) вот пример http://fullajax.ru/#:news
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #229 : 13.02.2008, 02:22:32 » |
|
спасибо boston за реализацию серверной части 
|
|
|
|
|
Записан
|
|
|
|
|
boston
|
 |
« Ответ #230 : 13.02.2008, 11:31:45 » |
|
 работает!!!
|
|
|
|
|
Записан
|
|
|
|
|
dremora
|
 |
« Ответ #231 : 14.02.2008, 02:33:52 » |
|
Такое количество информации сложно для моего понимания. И в принципе я не собираюсь щас делать контент на Ajax, зато собираюсь модули... Никто не подскажет реально совместить Табы и Ajax? Что бы кликая по ссылке таба загружался модуль в блоке таба. Примерно то что я хочу сделать на странице http://studbirga.info/. Табы сделаны специальным мамботом, а в каждый таб делается позиция в неё загружается новость, сделанная модулем. Иногда новости могут быть достаточно тяжёлыми и следует подумать над их загрузкой Аяксом...
|
|
|
|
|
Записан
|
|
|
|
|
FxPunter
|
 |
« Ответ #232 : 14.02.2008, 02:43:04 » |
|
здесь возьми, есть такие модули (внизу): http://www.joomlaworks.gr/index.php
|
|
|
|
|
Записан
|
|
|
|
si-rus
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 117
|
 |
« Ответ #233 : 25.02.2008, 22:34:53 » |
|
вообщем эксперимент с реализацией прямых АЯКС ссылок без лишнего запроса даных (первый запрос стартовой страницы - видно как бы перемаргивание), удался ровно на 50%: а именно - в ФФ и Сафари все работает круто, а вот в ИЕ и Опере нет, как всегда эти два браузера отобрали больше всего времени и к тому же безрезультатно  ... проблема в том что ИЕ при редиректе теряет реферера (referrer), как при редиректе с помощью ЖабаСкрипта так и с помощью серверных функций... буду думать, что еще можно придумать  ... а пока можете проверить как работают прямые ссылки в ФФ и Сафари (у кого он есть) вот пример http://fullajax.ru/#:news нy блин пруха пошла! вообщем сделал я и для ИЕ и для Оперы! реализация для этих браузеров вообще уникальна (как и многое другое в нашей либе  ) теперь прямой АЯКС запрос работает без первого холостого запроса (перемаргивания) во ВСЕХ 4-х браузерах. Данная фича не входит в комплект основной библиотеки (фулаякса), так как организовывается за счет клиентской и серверной части, кому интерестно узнать в чем секрет добро пожаловать в Гоогль Групу по фулу, задайте там вопрос я отвечу .. реализация просто шикарнейшая 
|
|
|
|
« Последнее редактирование: 25.02.2008, 23:08:31 от si-rus »
|
Записан
|
|
|
|
|
Vynder
Гость
|
 |
« Ответ #234 : 27.02.2008, 19:06:46 » |
|
Здраввствуйте  я вроде установила этот аякс шаблон но вот бяда то какая на локальном сервере тестирую http://ajax то вообще ни чего не грузится если пишу http://www.ajax то начинает работать в чем касяк И еще про статью которая написана про все это дело на джумле портале там вот более облегченно все, но там бяда какая то с кодировками не подскажите как исправить?
|
|
|
|
|
Записан
|
|
|
|
|
|
eternal2000
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 36
|
 |
« Ответ #236 : 15.03.2008, 23:54:04 » |
|
всем здратстя =) поставил я на джумлу ajax, с кодировкой разобрялся, сделал сообщение при загрузке странице и т.д., только вот остался вопрос: как мне лучше поступить чтобы не было проблем с seo? повешать onclick и через него ajax, а сами ссылки оставить прямыми?
|
|
|
|
|
Записан
|
|
|
|
eternal2000
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 36
|
 |
« Ответ #237 : 15.03.2008, 23:56:34 » |
|
кстати: header("Content-Type: text/html; charset=windows-1251"); не обязательно ставить перед: $_MOS_OPTION['buffer'] = ob_get_contents(); 
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #238 : 16.03.2008, 18:48:41 » |
|
всем здратстя =) поставил я на джумлу ajax, с кодировкой разобрялся, сделал сообщение при загрузке странице и т.д., только вот остался вопрос: как мне лучше поступить чтобы не было проблем с seo? повешать onclick и через него ajax, а сами ссылки оставить прямыми?
Да верно. именно так и сделано  .
|
|
|
|
|
Записан
|
|
|
|
eternal2000
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 36
|
 |
« Ответ #239 : 20.03.2008, 07:46:23 » |
|
Да верно. именно так и сделано пасиб, тоже так сделаю)
|
|
|
|
|
Записан
|
|
|
|
|
VETERINAR
|
 |
« Ответ #240 : 26.04.2008, 23:11:38 » |
|
Последняя версия костяка шаблона не работает непонятно почему. Ставлю на 12-ю лавру этот костяк. Единственное, что изменяю, так это то, что публикую модуль меню в позицию bottom, т.к. это единственная позиция, где выводится модуль. И нифига, всё вроде нормально, url в адресной строке меняется, но контент не изменяется в mosmainbody. Все файлы на месте. Стоит всё это дело на денвере, но пробовал и на хостинге - не работает.
Что я мог сделать не так? Фактически я ничего не менял, поставил "как есть". В чем проблема? Версия хоть рабочая?
|
|
|
|
|
Записан
|
|
|
|
|