Помогите сделать выпадающий текст

Главные вкладки

Аватар пользователя BlackAngel BlackAngel 20 мая 2015 в 17:27

Доброго дня!

Друпал только осваиваю, и вот столкнулся с проблемой, есть сайт, на нем сделано представление "Вакансии" со списком вакансий, при нажатии на название вакансии, выпадает описание данной вакансии. Сделано это штатными возможностями друпал (Я так думаю). Так вот сделал я категорию, сделал представление... а весь материал в категории отображается полным текстом а не выпадающим как в вакансии. Делал точь в точь. и не пашет...

Помогите именно разобраться как сделано в данном случае а не предлагать использовать сторонние скрипты и т.д. хотелось бы именно понять как тут.

P.S. http://www.i-home.ru/vacancy

Комментарии

Аватар пользователя serega111 serega111 20 мая 2015 в 19:30

Это сделано с помощью вот этого кода

$('.view-vacancy .views-row h2 a').click(function(){
  $parent=$(this).closest('.views-row');
  $('.content',$parent).slideToggle();
  return false;
});
Аватар пользователя BlackAngel BlackAngel 21 мая 2015 в 11:21

serega111 wrote:
Это сделано с помощью вот этого кода

$('.view-vacancy .views-row h2 a').click(function(){
  $parent=$(this).closest('.views-row');
  $('.content',$parent).slideToggle();
  return false;
});

Скажите, а куда именно добавлять этот код? Я полностью продублировал все что сделано для "Вакансии" а именно: создал в "структура" новый "типы материала", сделал в "представления" новое "представление" указал там все идентичные настройки отображения и т.д. указал тип отображения "содержимое" которое добавил в "типы материала". В представления, материалы отображаются но не так как в "Вакансии" Sad перепробовал все варианты в "Формат" и нифига Sad где эта загвостка.... Пробовал клонировать, не работает. т.е. представление клонируется но как только там меняю на другой путь, уже не работает (при клонировании создается точная копия "представления" "вакансии" но с другим именем представления, например "вакансии2" но оба представления ссылаются на один и тот же путь: /vacancy, как только ставлю например путь: /vacancy2, материалы перестают отображаться как в предыдущем представлении...

P.S. вот клон: http://www.i-home.ru/vacancy2

Аватар пользователя serega111 serega111 21 мая 2015 в 14:11

поиском найдите, где-то папке sites/all. Где точно, не знаю, у вас кеширование включено.
Потом нужно будет аналогичный код написать для вашей новой вьюхи и вставить в тот же файл. Выведите свою вьюху где нить, я подскажу, какой код писать

Скрытие сделано не через модуль views, а отдельно. просто клонированием ничего не добьетесь

Аватар пользователя BlackAngel BlackAngel 21 мая 2015 в 15:20

serega111 wrote:
поиском найдите, где-то папке sites/all. Где точно, не знаю, у вас кеширование включено.
Потом нужно будет аналогичный код написать для вашей новой вьюхи и вставить в тот же файл. Выведите свою вьюху где нить, я подскажу, какой код писать

Скрытие сделано не через модуль views, а отдельно. просто клонированием ничего не добьетесь

т.е. нужно выключить кеширование в админке? так вроде выключено.... или я чего то не понял...

Врубился, сейчас поищу и отпишусь.

нашел написанный вами код, в файле: init.js

(function ($) {
Drupal.behaviors.numerateMenu = {
attach:function (context, settings) {
$('ul.menu', context).not(".numerate").addClass("numerate").each(function () {
var level = $(this).parents("ul.menu").length;
$(this).addClass("level-" + level)
.children("li").each(function (i) {
$(this).addClass("element-" + i + " level-" + level);
})
});
}
};

Drupal.behaviors.uiButton = {
attach: function(context, settings) {
$("input[type=submit], .button, button", context).not(".not-ui").button()
.filter("[value='"+Drupal.t("Delete") +"'], [value='"+Drupal.t("Remove") +"']").button({icons: {primary: "ui-icon-trash"}}).end()
.filter("[value='"+Drupal.t("Upload") +"']").button({icons: {primary: "ui-icon-circle-arrow-n"}}).end()
.filter("[value='"+Drupal.t("Save") +"']").button({icons: {primary: "ui-icon-disk"}}).end()
.filter("[value='"+Drupal.t("Preview") +"']").button({icons: {primary: "ui-icon-arrowrefresh-1-s"}}).end()
.filter("[value='"+Drupal.t("Log in") +"']").button({icons: {primary: "ui-icon-person"}}).end();
$("input[type=file]", context).not(".customfile-input").customFileInput();
}
};
$(function(){
$('#block-menu-menu-more-left-link .expanded >a').click(function()
{
$(this).next().slideToggle().parent().toggleClass('active-trail');
return false;
});
$('#block-views-news-block-2 .view-grouping-header').click(function(){
$(this).next().slideToggle();
});
$('.view-vacancy .views-row h2 a').click(function(){
$parent=$(this).closest('.views-row');
$('.content',$parent).slideToggle();
return false;
});
});
})(jQuery);

Аватар пользователя serega111 serega111 21 мая 2015 в 20:30

Код, что я писал выше, замените на

$('.view-vacancy, .view--knx').find('.views-row h2 a').click(function(){
  $parent=$(this).closest('.views-row');
  $('.content',$parent).slideToggle();
  return false;
});

Также где-то в папке sites/all найдите css файл с кодом

.view-vacancy .views-row .content {
  display: none;
}

и замените на

.view-vacancy .views-row .content,
.view--knx .views-row .content {
  display: none;
}
Аватар пользователя BlackAngel BlackAngel 22 мая 2015 в 12:09

serega111 wrote:
Код, что я писал выше, замените на

$('.view-vacancy, .view--knx').find('.views-row h2 a').click(function(){
  $parent=$(this).closest('.views-row');
  $('.content',$parent).slideToggle();
  return false;
});

Также где-то в папке sites/all найдите css файл с кодом

.view-vacancy .views-row .content {
  display: none;
}

и замените на

.view-vacancy .views-row .content,
.view--knx .views-row .content {
  display: none;
}

все нашел, сейчас попробую и отпишусь!

Аватар пользователя BlackAngel BlackAngel 22 мая 2015 в 13:01

Sad не получилось...

в css

добавил строчку, получилось так:

.view-vacancy .views-row .content
.view-_knx .views-row .content
{
display: none;
}

в js так:

$('.view-vacancy, .view-_knx').find('.views-row h2 a').click(function(){
$parent=$(this).closest('.views-row');
$('.content',$parent).slideToggle();
return false;
});

само представление тут: http://www.i-home.ru/_knx

и не пашет=((((

Аватар пользователя serega111 serega111 22 мая 2015 в 16:54

"BlackAngel" wrote:
не пашет=((((

Внимательно прочтите мой код. Разве я где-то ставил знак подчеркивания? везде дефисы, и вам надо было писать дефис, потому что views при формировании классов html в машинном имени заменяет '_' на '-'.

Аватар пользователя BlackAngel BlackAngel 22 мая 2015 в 17:10

serega111 wrote:
"BlackAngel" wrote:
не пашет=((((

Внимательно прочтите мой код. Разве я где-то ставил знак подчеркивания? везде дефисы, и вам надо было писать дефис, потому что views при формировании классов html в машинном имени заменяет '_' на '-'.

уже понял это, но у меня машинное имя было именно _knx, поэтому в кодах я поставил _knx, в общем пробовал и так и так, пока не создал заново представление с машинным именем knx и все норм. Еще раз огромное спасибо!!!