Подскажите, пожалуйста, как сделать так, чтобы при выборе определенного значения CCK поля, это значение прописывалось в заголовок материала. Как вот здесь: http://54live.ru/node/add/advert
Т.е. выбрали "Продам" и в заголовке появилось Продам.
Подскажите, пожалуйста, как сделать так, чтобы при выборе определенного значения CCK поля, это значение прописывалось в заголовок материала. Как вот здесь: http://54live.ru/node/add/advert
Т.е. выбрали "Продам" и в заголовке появилось Продам.
Комментарии
autonodetitle
внимательно смотрим и главное думаем на странице настроек
RxB, по-моему вопрос не о том немного.
На селект вешается обработчик на событие onChange. Т.е. при измении селеката изменяем значение поля заголовка.
На сайте сделано хитрее, для того чтобы не терялась остальная часть заголовка, они заменяют по регулярному выражению.
title_first = $('#edit-title').val();
title = $('#edit-title').val();
var reg = /^(Куплю |Продам |Отдам даром |Услуги )/gi;
title = title.replace(reg, '');
if( title != title_first || title_first == '' ){
$('#edit-title').val(type + ' ' + title);
}
}
$(document).ready(function() {
$('#edit-taxonomy-1').change(function () {
$("#edit-taxonomy-1 option:selected").each(function () {
correctTitle($(this).text());
});
}).change();
});
А не подскажите как применить этот код?
Твой код явный перебор и не о том.
Ставишь autonodetitle, там в шаблоне генерации тайтла пропишешь что-то в стиле:
[field_cho_sdelayu] [title] и всё, точнее не подскажу, модуль давно не юзал
Ну или из hook_nodeapi()
И все эти жаба-скрипт извраты лишнее
autonodetitle я уже смотрел, он так как на сайте-примере не делает.
Конечно, если ввести в шаблон это [field_cho_sdelayu] [title] в заголовке появится то что нужно, но только после сохранения ноды, а хотелось чтобы как на сайте-примере.
RxB, это не мой код Это код непосредственно с сайта. Кроме того я считаю что такой подход тоже имеет право на жизнь — система подсказывает пользователю формат подачи объявления, но не ограничивает его.
autonodetitle имеет дело тегами
<h>
, а топикстартер, как видно из примера, имел ввиду предзаполняемый инпутJquery - самое простое имхо, просто заменять value на значение поля сск
Каюсь, на пример не смотрел
Посмотрел пример, если хочется именно так, но я бы всё таки на сервере генерировал заголовок, то только жаба-скрипт
У тебя в коде есть ID элементов, тебе надо вооружиться Firebug'ом и переделать ID-шки на свои, т.е. как минимум
на ID своего поля
Где то видел модулёк, prepopulate, не знаю, подойдёт ли
volocuga@drupal.org, скорее всего нет, т.к. он берет значения полей из GET-а. Но модуль потенциально полезный, спасибо.
Краткая схема, ищете в коде нужные поля, выбираете их атрибут id, заменяете edit-title и edit-taxonomy на найденные значения.
Упрощенный код, будет заменять полностью значение «приемника», вставляете в файл .js темы:
$('#edit-taxonomy-1').change(function () {
$target = $('#edit-title');
$source = $('option:selected', this).slice(0);
$target.val($source.text());
}).change();
});
В мемориз
ozoned, огромное спасибо за помощь!
Что-то не получается у меня...
Вставил в файл .js темы следующее:
title_first = $('#edit-title').val();
title = $('#edit-title').val();
var reg = /^(Продам |Куплю |Меняю |Отдам даром )/gi;
title = title.replace(reg, '');
if( title != title_first || title_first == '' ){
$('#edit-title').val(type + ' ' + title);
}
}
$(document).ready(function() {
$('#edit-field-type-ob-value').change(function () {
$("#edit-field-type-ob-value option:selected").each(function () {
correctTitle($(this).text());
});
}).change();
});
Теперь при загрузке страницы, в поле Заголовок появляется "Продам", но при выборе другого значения ничего не происходит, т.е. как было в заголовке "Продам", так и висит.
Подскажите, пожалуйста, как сделать чтоб значения менялись.
Вариант предложенный ozoned работает. Но очень хочется, чтоб заработал "полный" вариант.
Покажите вашу страницу.
вот http://34355.ru/node/add/obyavlenie
если я прописываю ваш "Упрощенный код", то всё работает, но при редактировании, заголовок исчезает (заменяется весь значением ССК поля)
Сохраните acquia-marina-script.js в UTF-8
СПАСИБО!!! Всё заработало.
Подскажите, пожалуйста, почему не работает в Drupal 7
title_first = $('#edit-title').val();
title = $('#edit-title').val();
var reg = /^(Продам |Куплю |Меняю |Отдам даром )/gi;
title = title.replace(reg, '');
if( title != title_first || title_first == '' ){
$('#edit-title').val(type + ' ' + title);
}
}
$(document).ready(function() {
$('#edit-field-type-ob-value').change(function () {
$("#edit-field-type-ob-value option:selected").each(function () {
correctTitle($(this).text());
});
}).change();
});
потому что jquery совсем не так реализуется в д7
jquery drupal 7
Огромное спасибо! В друпал 7 заработало так:
function correctTitle(type) {
title_first = $('#edit-title').val();
title = $('#edit-title').val();
var reg = /^(Продам |Куплю |Меняю |Отдам даром )/gi;
title = title.replace(reg, '');
if( title != title_first || title_first == '' ){
$('#edit-title').val(type + ' ' + title);
}
}
$(document).ready(function() {
$('#edit-field-type-ob-value').change(function () {
$("#edit-field-type-ob-value option:selected").each(function () {
correctTitle($(this).text());
});
}).change();
});
})(jQuery);