|
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 »
|
Записан
|
|
|
|
| |
|
beliyadm
|
 |
« Ответ #1 : 13.07.2007, 17:22:21 » |
|
спасибо за статью, обязательно поэксперементирую, но извечный больной вопрос - что с индексацией?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #2 : 13.07.2007, 17:32:43 » |
|
извечный больной вопрос - что с индексацией? а надо сделать небольшой финт ушами - не ссылки менять, а добавлять onclick, тогда и поисковики смогут ходить по ссылкам, и при клике пользователя страница не будет перегружаться - будет работать Ajax
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #3 : 13.07.2007, 17:37:25 » |
|
у меня это почему-то это вызывает большое сомнение
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #4 : 13.07.2007, 17:41:16 » |
|
у меня это почему-то это вызывает большое сомнение
что именно? что можно на ссылку повесить событие onclick, или что поисковик пойдет по href если задано событие onclick? если я не ошибаюсь, то именно такое решение я когда-то видел в каком-то из компонентов типа eZine, iMagazine... там так была реализована навигация по страницам
|
|
|
|
|
Записан
|
|
|
|
Sedoy
Support Team
   
Репутация: +73/-10
Offline
Пол: 
Сообщений: 1108
Интересно,в какой кодировке пишут врачи?
|
 |
« Ответ #5 : 13.07.2007, 17:45:35 » |
|
ну что демка выглядит эффектно, хотелось бы увидеть наполненный вариант как поведут себя различные компоненты и т.д.?
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #6 : 13.07.2007, 17:45:47 » |
|
когда аякс получает контент? после загрузки страницы? во время? асинхронно... вот приходит бот на страницу и что он видит? дулю с маком, ибо контент может быть ещё не получен....
з.ы. может, я, правда, чего-то не понимаю в аяксе?...
аякс "пишет" в DOM, а не в HTML
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #7 : 13.07.2007, 17:49:00 » |
|
На самом деле статья немного устарела.
Вот что есть на данный момент: - решены проблемы с кодировкой (совместимость с LE)
- решена проблема с отключенным JS и поисковыми роботами: Все ссылки остаются обычными ссылками, подключаемая JS библиотека выхватывает их из контекста и вешает на нужные ссылки событие Ajax, а переход запрещает. Если JS у пользователя отключен, то ни каких событий на ссылки не вешается, и они остаются обычными ссылками.
- никакого своего модуля меню теперь не надо.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #8 : 13.07.2007, 18:03:02 » |
|
когда аякс получает контент? после загрузки страницы? во время? асинхронно... вот приходит бот на страницу и что он видит? дулю с маком, ибо контент может быть ещё не получен.... бот приходит и видит ту страницу, которая там есть... если бот перейдет по ссылке из меню он увидит новый контент, тоже самое увидит пользователь если он кликнет на этой ссылке... разница в том, что боту надо переходить по ссылке, а пользователь получит новые данные посредством Ajax... На самом деле статья немного устарела. ну мне кажется это не очень корректно, бо перед тем как ее опубликовать я спросил - актуальная ли она, если она актуальная это одно, если есть стабильное решение более свежее чем текущее - это совсем другое, а если стабильного нет, а есть только наброски - то статья по-прежнему актуальна
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #9 : 13.07.2007, 18:04:28 » |
|
ну что демка выглядит эффектно, хотелось бы увидеть наполненный вариант как поведут себя различные компоненты и т.д.?
Компоненты разные бывают, если компонент выводит что-то в mosMainBody(), а почти все они так и делают (например виртуемаркт), то все работает. когда аякс получает контент? после загрузки страницы? во время? асинхронно...
В реализации описанной в статье функция JavaScript делает запрос на сервер (в стиле Ajax) когда пользователь щелкнет по ссылке. В этом варианте СЕО не учитывается. Нужно делать карту сайта для поисковиков. В том варианте, который есть сейчас, все по другому и SEO не страдает.
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #10 : 13.07.2007, 18:06:36 » |
|
Alex_B - попросил бы тогда аналогично по подробности описать существующий вариант
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #11 : 13.07.2007, 18:07:21 » |
|
ну мне кажется это не очень корректно, бо перед тем как ее опубликовать я спросил - актуальная ли она, если она актуальная это одно, если есть стабильное решение более свежее чем текущее - это совсем другое, а если стабильного нет, а есть только наброски - то статья по-прежнему актуальна
Совершенно верно, то решение которое я позиционировал выше как панацею (и которое не описано в статье) - не рабочий вариант, который можно взять прямо сейчас и поставить. Прошу прощения.
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #12 : 13.07.2007, 18:12:22 » |
|
бот приходит и видит ту страницу, которая там есть... если бот перейдет по ссылке из меню он увидит новый контент, тоже самое увидит пользователь если он кликнет на этой ссылке.. боты научились вычитывать DOM?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #13 : 13.07.2007, 18:16:17 » |
|
боты научились вычитывать DOM?
Леша, причем тут DOM? Есть сайт, у него есть страницы А и Б, его прекрасно индексируют боты, теперь, мы добавляем возможность пользователю не уходя со страницы А получить контент со страницы Б... зачем для этого ботам читать DOM? бот может получить контент страницы Б естественным путем - перейдя по href ссылки из меню, а пользователь получить контент КЛИКНУВ, и вызывав функцию, которая посредством AJAX вытянет этот контент и вставит прямо в тело страницы А...
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #14 : 13.07.2007, 18:18:25 » |
|
наверно я себе плохо представил процесс получения контента в данной реализации..
|
|
|
|
|
Записан
|
|
|
|
proxits
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Пол: 
Сообщений: 56
Я нисколько не лев, и посему - не всегда прав
|
 |
« Ответ #15 : 13.07.2007, 18:37:57 » |
|
А если я уже прописал для календаря новостей такое вот: <?php /*mosMainBody();*/ ?> <div id="ajax_main_body"><?php mosMainBody(); ?></div>
Как быть? 
|
|
|
|
|
Записан
|
|
|
|
|
Alex Revo
|
 |
« Ответ #16 : 13.07.2007, 19:24:54 » |
|
2. Модули Joomla имеют привязку... Мы решились и этого... Опечаточка вкралась. Мы лишились, а не решились. 
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +189/-0
Offline
Пол: 
Сообщений: 3486
Contra Gaming Community
|
 |
« Ответ #17 : 13.07.2007, 19:27:06 » |
|
Alex Revo уху... я тоже щас прочитал, но не успел написать 
|
|
|
|
|
Записан
|
|
|
|
|
pedrosoft
|
 |
« Ответ #18 : 13.07.2007, 20:08:28 » |
|
Alex_B, наверное надо подумать над какой-то индекацией загрузки т.к. контент и тяжелый бывает, а некоторые на мопедах сидят.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #19 : 13.07.2007, 20:31:35 » |
|
Опечаточка вкралась. Мы лишились, а не решились.  исправлено
|
|
|
|
|
Записан
|
|
|
|
Timon_Crazy
Завсегдатай
   
Репутация: +31/-4
Offline
Пол: 
Сообщений: 641
Лицензнаци
|
 |
« Ответ #20 : 13.07.2007, 21:44:10 » |
|
спасибо. удобно, работает на ура  но есть глюк: при первом клике на любой урл, страница перегружается. потом - все нормально. если нажимаю редактировать статью - перегрузка страницы. будет ли шаблон с определенными всеми стилями?
|
|
|
|
|
Записан
|
|
|
|
Timon_Crazy
Завсегдатай
   
Репутация: +31/-4
Offline
Пол: 
Сообщений: 641
Лицензнаци
|
 |
« Ответ #21 : 13.07.2007, 21:47:13 » |
|
нашел обшибку в статье Все это будет работать только на родной Joomla, по причине используемых кодровок. надо кодировок
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #22 : 13.07.2007, 21:56:23 » |
|
спасибо. удобно, работает на ура  Пожалуйста. но есть глюк: при первом клике на любой урл, страница перегружается. потом - все нормально. если нажимаю редактировать статью - перегрузка страницы.
будет ли шаблон с определенными всеми стилями?
Я планирую довести до ума саму реализацию – все ссылки, какие возможно, сделать Ajax. Проблемы с SEO и прочее. План как сделать есть, достаточно четко представляю дальнейшие действия. И вот потом хочу выпустить полностью рабочее решение и полностью рабочий шаблон к нему (как пример). Вроде сложностей ни каких нет – дело только во времени.
|
|
|
|
|
Записан
|
|
|
|
|
Alex Revo
|
 |
« Ответ #23 : 13.07.2007, 22:11:03 » |
|
Ну раз такое дело исправьте еще одну: это id контейнера DIV в котором нужно разместить сдержимое - содержимое
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #24 : 14.07.2007, 01:04:00 » |
|
ну так что будем делать с русской кодировкой? а то я обошелся без утф-8 и без перекодировки... ловкость рук и никакого мошенничества
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #25 : 14.07.2007, 14:22:30 » |
|
ну так что будем делать с русской кодировкой? а то я обошелся без утф-8 и без перекодировки... ловкость рук и никакого мошенничества
Я пока вот так сделал: В фале includes/frontend.php строка 50 echo $GLOBALS['_MOS_OPTION']['buffer'];
Передней явно указал хедер: header("Content-Type: text/html; charset=windows-1251"); echo $GLOBALS['_MOS_OPTION']['buffer'];
Работает на LE.
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #26 : 14.07.2007, 15:05:13 » |
|
это нужно делать не там, а в index2.php ты же его вызываешь с сервера а если смотреть глобально, то эта вся затея плохо вписывается в джумлу в том смысле, что как бы не получается всё сделать "одним махом", например, установив компонент или ещё чего.. теоретически, можно всё свести в шаблон... но тогда пропадает возможность настройки  кароче, аякс прибивать нада тока руками + у меня вызывает смущение надёжности - уж больно много джава скриптов вешается на джумлу... как бы это всё не вылезло боком  мои предложения такие: 1) в статье ОБЯЗАТЕЛЬНО указать категорию "для разработчиков" (из серии ну сунь два пальца в розетку), а именно - НЕ публиковать готовых расширений, а только предложения по написанию кода 2) умерить пыл в сторону аякса (много хорошо - тоже плохо), ибо вылезут проблемы с компонентами (там аякс без ботов скорей всего работать не будет, либо нужно будет извращаться) 3) как я писал выше - возможные вопросы не совместимости с другими ботами, использующими аякс-технологии (LightBox, MooTools, JQuery и т.д.) теперь итого - данный материал нужно позиционировать как исключительно для программистов, причём отнюдь не для начинающих
|
|
|
|
« Последнее редактирование: 14.07.2007, 15:16:29 от userxp »
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #27 : 14.07.2007, 15:34:47 » |
|
На мой взгляд – есть возможность сделать все одним (или двумя) махом. По крайней мере для Joomla! в стандартном виде.
|
|
|
|
|
Записан
|
|
|
|
|
userxp
|
 |
« Ответ #28 : 14.07.2007, 16:22:00 » |
|
не выйдет. смена урла влчёт за собой привязку Itemid и модулей... в чём фигня, надеюсь, понятно?
всё не перестаю повторять - глубже думайте, ГЛУБЖЕ!
зы. красивое не значит полезное
|
|
|
|
|
Записан
|
|
|
|
|
Alex_B
|
 |
« Ответ #29 : 14.07.2007, 16:28:57 » |
|
не выйдет. смена урла влчёт за собой привязку Itemid и модулей... в чём фигня, надеюсь, понятно?
Да, это так. Это самый первый вопрос который всплывает - как оставить привязку модулей к пунктам меню? (в статья я об этом говорил) А смены урл не будет (по крайней мере я сейчас так думаю)
|
|
|
|
|
Записан
|
|
|
|
|