| Предыдущая тема :: Следующая тема | 
	
	
		| Автор | Сообщение | 
	
		| 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
 
 Обрадовал?
  |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| 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%
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
	
	
	
		|  |