Искать  
 
   
3 из 4
3
Доска объявлений на EE
Отправлено: 20 Февраль 2011 02:32 P.M.   [ Игнорировать ]   [ # 31 ]
Студент
Avatar
RankRank
Всего сообщений:  113
Зарегистрирован  2010-07-12

Есть такой код в SAEF:

{category_menu}
  
<select name="category[]">
    
{select_options}
  
</select>
{/category_menu} 

Который отвечает за выбор категории при добавлении записи.
Интересует как сделать чтобы при выборе категории, ниже отображалось ее описание.
Может кто подсказать?

Профиль
 
 
Отправлено: 20 Февраль 2011 04:20 P.M.   [ Игнорировать ]   [ # 32 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

что касается клиентской части, то смотри как вариант http://jsfiddle.net/TCA32/

Профиль
 
 
Отправлено: 20 Февраль 2011 07:16 P.M.   [ Игнорировать ]   [ # 33 ]
Студент
Avatar
RankRank
Всего сообщений:  113
Зарегистрирован  2010-07-12

В очередной раз спасибо!

Профиль
 
 
Отправлено: 28 Март 2011 09:12 P.M.   [ Игнорировать ]   [ # 34 ]
Студент
Avatar
RankRank
Всего сообщений:  113
Зарегистрирован  2010-07-12

Опять нужна помощь.
На странице, чтобы добавить объявление, нужно выбрать соответствующий пункт в поле Select, после чего просходит подгрузка нужного шаблона через этот аякс:

function buy() {
            
                
$.ajax({   
                                type
"GET",
                                
url"/add-advert-buy",   // содержимое контента
                                
cachetrue,       // не кешировать результы
                                
beforeSend: function () {
                                    document
.getElementById("loading").style.display="block";
                                
},
                                
complete: function(){
                                    document
.getElementById("loading").style.display="none";
                                
},
                                
success: function(html){   
                                    
$("#sell_buy").html(html);  // запись контейнера 
                                

                                
                            }
);               
            
            
}

Все подгружается и вроде как работает, кроме поля Matrix. В нем не появляется строка “добавить строку”.
Добавлял загрузку jquery скриптов в оба шаблона, но все без результата.

Одна особенность: Если в поле Select выбрать что-либо до того как страница загрузится, тогда Matrix полностью функционирует.

Профиль
 
 
Отправлено: 28 Март 2011 09:16 P.M.   [ Игнорировать ]   [ # 35 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

сам я саефом не занимаюсь, но направить где копать смогу тебя.
в твоем коде после успешной загрузки шаблона с матриксом нужно дернуть инициализацию матрикса принудительно. подозреваю, матрикс инициализируется на document ready, а с аджаксом это другой случай. что на счет принудительной инициализации говорит мануал по матриксу, какие там есть события, методы?

Профиль
 
 
Отправлено: 28 Март 2011 09:46 P.M.   [ Игнорировать ]   [ # 36 ]
Студент
Avatar
RankRank
Всего сообщений:  113
Зарегистрирован  2010-07-12

Блин, даже не знаю где и что капать.

Профиль
 
 
Отправлено: 29 Март 2011 06:19 P.M.   [ Игнорировать ]   [ # 37 ]
Студент
Avatar
RankRank
Всего сообщений:  113
Зарегистрирован  2010-07-12

Nik, ты был прав, Матриксу нужна была инициализация. Я взял отдельный шаблон с ним, и посмотрел исходный код на выходе, и нашел там это:

jQuery(window).bind("load", function() {
  jQuery
("#field_id_28").ffMatrix("field_id_28"[{"type":"ngen_file_field","cell":"<div class='ngen-file-field-block'><input type='file' name='field_id_28[0][6]' class='ngen-file-input' \/>\n<input type='hidden' name='field_id_28[0][6][file_name]' \/>\n<\/div>"}]5);
}); 

Я добавил этот исполняемый фрагмент в поле success своего скрипта, и все заработало.
Спасибо, что откликнулся.

Профиль
 
 
Отправлено: 29 Март 2011 08:14 P.M.   [ Игнорировать ]   [ # 38 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

не за что smile обращайся по jquery если что.
молодец, что сам раскопал и разобрался, думаю кому-нибудь тоже пригодится

Профиль
 
 
Отправлено: 25 Апрель 2011 04:06 P.M.   [ Игнорировать ]   [ # 39 ]
Новичок
Rank
Всего сообщений:  47
Зарегистрирован  2008-04-02

Новый вопрос smile

как менять раздел в SAEF на лету мы разобрались. Спасибо Nik’у.
А как поменять список категорий, соответствующих выбранному разделу, на лету? Например, в ‘Advanced Search Form’ это, на сколько я понял, реализовано через

onchange='changemenu(this.selectedIndex);' 

Т.е. если для разделов “Куплю” и “Продам” категории одинаковые, то для раздела “Услуги” категории различаются.

Но, так как я не в ладах с js, посоветуйте, пожалуйста, как это лучше реализовать?

Профиль
 
 
Отправлено: 25 Апрель 2011 08:02 P.M.   [ Игнорировать ]   [ # 40 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

смотри
http://jsfiddle.net/h5XB3/1/

зависит конечно от контекста, я подобные задачи не делал. Поэтому вариант может не подойти в деталях, но суть такова:
1 помимо формы для каждой группы категорий генеришь скрытые селекты с опциями (или внутри формы но без атрибутов name, что бы они не сабмитились и достукиваешься до них  допустим через id)
2 при выборе блога куда будешь публиковать запись подменяешь в форме в селекте категорий опции из соответствующих созданных в п. 1

Профиль
 
 
Отправлено: 25 Апрель 2011 10:48 P.M.   [ Игнорировать ]   [ # 41 ]
Новичок
Rank
Всего сообщений:  47
Зарегистрирован  2008-04-02

Nik, в очередной раз большое тебе спасибо. Пример вроде рабочий. Единственное, что если для блогов “Куплю” и “Продам” категории выводятся автоматом.

{category_menu}
Категория
</td>
<
td class="add_td">
<
select class="formcanvas" name="category[]" size="10" multiple="multiple">
{select_options}
</select>
{/category_menu} 

То если выбирать еще из “Услуг”, надо их все вбивать вручную с их id.

Но это не главное smile столкнулся уже с новой проблемой: в блоге “Услуги” немного другие поля. А так как поля выводятся опять же через теги {custom_fields}{/custom_fields}, то встает вопрос, а их как менять? Тоже вручную нужно будет вбить?

Профиль
 
 
Отправлено: 25 Апрель 2011 10:58 P.M.   [ Игнорировать ]   [ # 42 ]
Новичок
Rank
Всего сообщений:  47
Зарегистрирован  2008-04-02

блин, или бросить эту затею сводить все на одной странице (как на http://www.avito.ru/additem)?

сделать основной страницу добавления объявлений только с разделами “Куплю” и “Продам”. А для услуг сделать отдельную страницу, тем самым выделив эту категорию пользователей и предоставив им возможность размещать фотографии своих работ да и вообще делать странички-визитки с контактной информацией и портфолио, м?

smile

Профиль
 
 
Отправлено: 26 Апрель 2011 06:17 A.M.   [ Игнорировать ]   [ # 43 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

ну тут тебе виднее smile
теоретически можно сделать 2 шаблона с формами - первый для обнообразных куплю продам, второй для услуг и на первом шаблоне сделать возможность выбора если выбраны услуги то аджаксом подгружать второй шаблон

Профиль
 
 
Отправлено: 26 Апрель 2011 01:44 P.M.   [ Игнорировать ]   [ # 44 ]
Новичок
Rank
Всего сообщений:  47
Зарегистрирован  2008-04-02

тоже об этом сразу подумал, но с аяксом не знаком smile Покопавшись на ЕЕ форуме, нашел прмиер такого кода:

[removed]
$.ajaxSetup ({
    cache
false,
type"POST"
});
    
var 
loadUrl "http://mysite.ru/testnote";
$(
"div.content").load(loadUrl); 
[removed]


<div class="content"></div

но он чего-то не работает. Nik, с какого боку мне к нему подступиться?

Профиль
 
 
Отправлено: 26 Апрель 2011 02:10 P.M.   [ Игнорировать ]   [ # 45 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

я придумал альтернативное решение. Что если тебе вывести на странице 2 формы. Оформить все с помощью закладок. Одну спрятать, а одну отображать сразу, и переключать их в зависимости от выбранной закладки.

см. решение с закладками http://code.google.com/p/minitabs/

Профиль
 
 
   
3 из 4
3