Здравей Гост ! Регистрирай се и влез .

Уеб хостинг и регистрация на домейни

Навигация на книгата

Последни коментари

Кой е онлайн

В момента са 0 потребители и 1 гост online.

Гласуване

Какво харесвате в България?
Планините
25%
Морето
25%
Туризъм без значение
9%
Разходки в планините с апарат в ръка
13%
Лагеруване с палатки в планините
6%
Катерене
0%
Обикаляне с кола пък където свари
13%
Само на хотели
0%
Градовете и селата
9%
Общо гласове: 32

Разпространи

Разпространи съдържание
8 отговори [Последно мнение]
irgnet
Offline
Регистриран: 23 Февр. 2009
Мнения (публикации):

Може заглавието да е малко подвеждащо, но ми трябва следното нещо

Имам 3 типа ноде : Статия, Уебсайт, Букмарк
които ползват едни и същи категории
та например имам меню в което са изброени категориите
искам да постигна следното
когато съм в сайта и съм на ноде тип уебсайт и като натисна в менюто нампример категорията компютри и интернет, да ми излизат само ноде от тип уебсайт от тази категория,
а ако съм на ноде тип статия, и като натисна върху категорията да ми показва само статиите от съответната категория

Някой да има някакво решение за това.
Хамалската е да направя 3 менюта, всяко от които да се вижда само на този тип ноде за който е предназначено
но ми се иска нещо по автоматизирано

Настройки изглед коментари
Изберете предпочитания от Вас начин за показване на коментарите и кликнете на "Запиши настройките", за да активирате Вашите промени.
снимка на bulgblatter
bulgblatter
Offline
Регистриран: 20 Ян. 2008
Мнения (публикации):
Например views за листингите

Например views за листингите с аргумент "Taxonomy TID".

Би могъл да направиш един views с два аргумента за тип и ТИД или за всеки тип по един views само с един аргумент за ТИД. В конкретния случай ако тази функция я сложиш в template.php, то тя ще генерира меню с урл "browse-articles/[ТИП]/[TID]" от речник [$vid]

function [THEME_NAME]_taxonomy_menu($vid) {
  $urltype = FALSE ;
// проверявам за тип ноде
  if (arg(0) == 'node' && is_numeric(arg(1))) {
    $node = node_load(arg(1));
    if ($node->type) {
      $urltype = $node->type;
    }
  }
    // зареждам речника
  $taxes = taxonomy_get_tree($vid);
  $output = '';
  $items = array();
 
// генерирам масив с елементите от менюто
  foreach ($taxes as $t => $tax) {
   if ($urltype) {
     $link = "browse-articles/{$urltype}/{$tax->tid}";
   } else {
     $link = "taxonomy/term/{$tax->tid}";
   }
    $alt = ($tax->description) ? $tax->description : $tax->name;
    $attributes = array('title' => check_plain($alt));
    $item = array(
      'tid' => $tax->tid,
      'data' => l($tax->name, $link, array('attributes' => $attributes)), 
    );
    $items[] = $item;
  }
 
// връщам хтмл лист
  return theme('item_list',$items, NULL, 'ul', array('class' => 'menu'));
}

Ако е многоезичен речника, тогава трябва да ползваш нещо такова:
function [THEME_NAME]_taxonomy_menu($vid) {
  global $language ;
// проверявам за тип ноде
  $urltype = FALSE;
  if (arg(0) == 'node' && is_numeric(arg(1))) {
    $node = node_load(arg(1));
    if ($node->type) {
      $urltype = $node->type;
    }
  }
  // зареждам речника за съответния език
  $taxes = i18ntaxonomy_get_tree($vid, $language->language);
  $output = '';
  $items = array();
 
// генерирам масив с елементите от менюто
  foreach ($taxes as $t => $tax) {
   if ($urltype) {
     $link = "browse-articles/{$urltype}/{$tax->tid}";
   } else {
     $link = "taxonomy/term/{$tax->tid}";
   }
    $alt = ($tax->description) ? $tax->description : $tax->name;
    $attributes = array('title' => check_plain($alt));
    $item = array(
      'tid' => $tax->tid,
      'data' => l($tax->name, $link, array('attributes' => $attributes)), 
    );
    $items[] = $item;
  }
 
// връщам хтмл лист
  return theme('item_list',$items, NULL, 'ul', array('class' => 'menu'));
}

ЗАБЕЛЕЖКА: < code> тага реже ";"

irgnet
Offline
Регистриран: 23 Февр. 2009
Мнения (публикации):
А може ли по-подробно да

А може ли по-подробно да обясниш за views с 2 аргумента.
Опитвах се нещо да направя, ама не успях

снимка на bulgblatter
bulgblatter
Offline
Регистриран: 20 Ян. 2008
Мнения (публикации):
Приложил съм кода на view-to

Приложил съм кода на view-to - би могъл да го импортнеш и след това да разгледаш кое как е направено.

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

Генерирания хтмл можеш да го промениш като хвърлиш едно око на подчертаното в картика 1. В картинка 2 съм подчертал ключовите настройки за "Страница".

irgnet
Offline
Регистриран: 23 Февр. 2009
Мнения (публикации):
При това view трябва ли да

При това view трябва ли да сложа функцията в template.php
Значи това което знам до сега за аргументите е:
Примерно ползвам ТИД за аргумент и примерно пътя на страницата е browse-articles/%

то тогава в менюто си задавам :
Име на категория 1 | за път давам browse-articles/1
Име на категория 2 | за път давам browse-articles/2

и т.н. (това е за показване само на нодес от съответната категория)
обаче като имам и 2-ри аргумент node:type
тогава трябва да се включи и неговия аргумент в пътя на меню елементите,
Но до колкото знам няма как стандартно да се зададе аргумент за тип на ноде в пътя на менюто

Та трябва ли да се слага функцията в template.php , защото искам да избегна такава манипулация.

Та да обобщя, с вютата до дози момент съм наясно, но проблема ми беше с пътя в менюто.
Има ли нормално решение без да се манипулира кода в темплейта

снимка на bulgblatter
bulgblatter
Offline
Регистриран: 20 Ян. 2008
Мнения (публикации):
irgnet wrote: "Име на

irgnet wrote:

"Име на категория 1 | за път давам browse-articles/website/1"
"Име на категория 1 | за път давам browse-articles/bookmark/1"

снимка на sve
sve
Offline
Регистриран: 16 Ноем. 2009
Мнения (публикации):
имаш код за генериране на

имаш код за генериране на менюто, което ти трябва
имаш код на views, който трябва единствено да си импортнеш и да донастроиш

единственото, което липсва е как да принтнеш това меню, за да е завършено решението по този казус - това всъщност е половината от отговора на липсващото звено

не се притеснявай да слагаш код в темплейта, той е точно за това, ако ти трябва нещо по-различно, да има къде лесно да го добавиш

irgnet
Offline
Регистриран: 23 Февр. 2009
Мнения (публикации):
Това не ми върши

Това не ми върши работа

Трябва да е browse-articles/нещо-което-автоматично-взема-ноде-тип/1
тоест ако в моемнта се намирам на ноде тип bookmark
да е
browese-articles/bookmark/1

ама ако съм на тип artciles същото меню да е
browse-articles/article/1

ако това не става автоматично, аз пак трява да правя 3 менюта
и няма смисъл от 2-рия аргумент Smile

Поправете ме ако греша

Всъщност ще има решение ако може та се ползва token в менюто
browse-articles/[type]/[term-id]

снимка на sve
sve
Offline
Регистриран: 16 Ноем. 2009
Мнения (публикации):
поправям те точно това прави

поправям те
точно това прави ред 19 от първия код