Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Загрузка js

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 05 Окт 2008 14:06:06    Заголовок сообщения: Загрузка js Ответить с цитатой

Друзья, подскажите мне, плиз, как и в какой последовательности элементы Кейка грузят js файлы?

Я прикрутил хелпер markitup (см. на Bakery). В хелпере прописана загрузка jquery..
однако, пока я не прописал в шаблоне в default.ctp - загрузку jquery - ничего не работало.
В результате jquery грузится и в default шаблоне, и в хелпере (смотрю Net FireBug - вижу двойную загрузку).
Если одну из загрузок отключить - всё, markitup не работает - мол нет jquery.
Версия кейка 1.2 RC3
Что я делаю не так?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 08 Окт 2008 16:09:12    Заголовок сообщения: Ответить с цитатой

не в загрузке дело.. а в конфликтах я думаю JQuery и Prototype который подефулту юзается пирожком.

Ну а для пущей подробности лучьше кодом своим нас обрадуйте.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 09 Окт 2008 10:11:04    Заголовок сообщения: Ответить с цитатой

При чём тут прототайп? Я его не использую, не подгружаю и физически файл отсутствует.

Код - пожалуйста

используется хелпер markitup http://bakery.cakephp.org/articles/view/markitup-jquery-universal-markup-editor-helper

Который в себе (в хелпере) грузит jquery в инициализации.

Так же используется мною jquery для моего кода (чуток аякса).

В чём вопрос. Вопрос в том, что markitup используется у меня в контроллере posts/articles. В контроллерах других - не используется.

Если убрать из хелпера markitup загрузку jquery - происходит ошибка, ибо helper грузится раньше, нежели код, подключённый в layout default.ctp

Если оставить в хелпере и в layoute - jquery будет загружаться дважды (гляжу Net FireBug)

Если убрать загрузку jquery из default.ctp - тогда markitup будет работать нормально (он сам себе грузит jquery) но не будут работать JS в других контроллерах, которые не используют MarkitUp

Обрадовал? Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 11 Окт 2008 14:31:15    Заголовок сообщения: Ответить с цитатой

"Пирожок" по дефулту юзает prototype для скриптов на стороне юзера
так что думаю что надо где-то чё то переключить или отключить..
http://manual.cakephp.org/view/208/AJAX

А если конкретнее.. то я всегда подгружаю отдельно для каждого контроллера js фрэймворк прямо из котроллера по условию.. если конесно он не юзается в каждом.. а если юхается до думаю стоит его жестко там прописать.. а если хочется универсальнее то думаю следует сделать проверку в хелпере передан ли в хедер запрос на загрузку jquery и добавить его туда если нет.. вот и всё
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 11 Окт 2008 17:15:09    Заголовок сообщения: Ответить с цитатой

Никак не пойму при чём тут прототип? Судя по Net-отчёту FireBug - ни одного упоминания о подгрузки оного. Да и физически его на локалке нет - взяться неоткуда, а подключить его через инет кейк не смог бы (файрвол не позволит).

Но вероятно, придётся изголяться с условиями подгрузки, либо грузить всегда.

Потому как явно хелпер инициализируется и грузит яваскрипт раньше, нежели это происходит посредством default.ctp layout
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
michas

цитировать



Зарегистрирован: 28 Янв 2008 11:28:31
Сообщения: 123

СообщениеДобавлено: 12 Окт 2008 19:52:20    Заголовок сообщения: Ответить с цитатой

а в default.ctp как markitup подключаете?
_________________
Все самое интересное в реальном времени - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 13 Окт 2008 13:54:54    Заголовок сообщения: Ответить с цитатой

2michas: а никак.
Зачем мне его там подключать, если он подключается в хелпере?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
michas

цитировать



Зарегистрирован: 28 Янв 2008 11:28:31
Сообщения: 123

СообщениеДобавлено: 14 Окт 2008 09:40:56    Заголовок сообщения: Ответить с цитатой

а хелпер во всех контроллерах подключен или в каком-то одном?
_________________
Все самое интересное в реальном времени - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 14 Окт 2008 09:42:21    Заголовок сообщения: Ответить с цитатой

Я вроде в третьем сообщении (сверху) уже писал, что хелпер используется только в двух контроллерах из многих.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
evilbloodydemon

цитировать



Зарегистрирован: 11 Окт 2007 20:32:19
Сообщения: 125

СообщениеДобавлено: 14 Окт 2008 09:47:58    Заголовок сообщения: Ответить с цитатой

загружай jquery из appcontroller'a, cake разберется.
_________________
поздняк метаться - ракеты в воздухе
jabber-конференция по CakePHP - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 14 Окт 2008 10:59:36    Заголовок сообщения: Ответить с цитатой

Ну разве что создать отдельный хелпер, который бы грузил именно джквери, и прописать этот хелпер, до хелпера markitup... Тогда да.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
evilbloodydemon

цитировать



Зарегистрирован: 11 Окт 2007 20:32:19
Сообщения: 125

СообщениеДобавлено: 14 Окт 2008 12:54:00    Заголовок сообщения: Ответить с цитатой

угу, этот хелпер называется javascript.

в default.ctp
Код:

$javascript->link('jquery/jquery.js', false);

_________________
поздняк метаться - ракеты в воздухе
jabber-конференция по CakePHP - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 14 Окт 2008 13:48:09    Заголовок сообщения: Ответить с цитатой

evilbloodydemon
И я об этом же.. не стоит изобретать велосипед.. не думаю что двойная загрузка скрипта это большая проблема которую не решить никак
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
evilbloodydemon

цитировать



Зарегистрирован: 11 Окт 2007 20:32:19
Сообщения: 125

СообщениеДобавлено: 14 Окт 2008 15:16:55    Заголовок сообщения: Ответить с цитатой

DeeperMD
там не будет двойной загрузки скрипта, cake сначала формирует список подключаемых скриптов, дубликаты отсеивает, и выводит в $scripts_for_layout.
_________________
поздняк метаться - ракеты в воздухе
jabber-конференция по CakePHP - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 15 Окт 2008 15:08:39    Заголовок сообщения: Ответить с цитатой

evilbloodydemon

да, ты прав 100%
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru