Задавайте вопросы про Drupal - 3

dag
На сайте с 10.02.2007
Offline
214
dag
#291

провел несколько дней в поисках и исследованиях "на копии". имхо да,

единственный относительно безгиморойный способ - @media

все остальное - это какой то танец с бубном на горящих углях.

M2
На сайте с 11.01.2011
Offline
342
#292

Подскажите, в Drupal можно реализовать следующее?

Есть пост. В нём есть тайтл, дескрипшен, текст статьи, фотогалерея... ну всё как обычно. Но после этого нужно внедрить некоторые дополнительные атрибуты в формате "параметр=значение". Ну типа идёт текст статьи, а внизу:

"яблоко: зеленое

банан: желтый

помидор: красный"

ну условно, понятно, что реально не так будет.

Так вот, первый вопрос... можно ли такое с вьюхами сделать?

И второе. Самое главное. Можно ли будет потом выбирать посты по этим условиям. Скажем, из примера - выбрать все посты, у которых имеется параметр "помидор". Не важно, какое значение у этого параметра. Важно, что он там есть. Причём, такую выборку должен иметь право делать пользователь. Т.е. зашёл на сайт, отсортировал посты и вуаля. Такой вот сложный фильтр.

------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
Maximus_XXX
На сайте с 07.10.2013
Offline
41
#293

mark2011, думаю что можно, views отлично справится с фильтрами.

Быстрый, недорогой и надёжный хостинг VPS (http://goo.gl/MwGPO7) - от 5$/мес. Так же, специально для Вас, купон на скидку 25% за первый платеж: JMLUfAJD1s
Sevix
На сайте с 24.10.2011
Offline
93
#294

Подскажите, как можно с помощью cache_clear_all() удалить кэш терминов?

Вот здесь упоминается про

cache_clear_all('http://example.com/taxonomy/term/', 'cache_page', TRUE);

Но так не работает, только если прописать точный url.

А с системными путями как-то можно?

Ну или в переменной как-то определить, что это термины.

Garin33
На сайте с 31.08.2009
Offline
169
#295

Sevix, а что вы конкретно хотите сделать? Какова цель этого, и зачем вам системный путь прописывать?

Есть еще drupal_flush_all_caches, есть https://www.drupal.org/project/cache_actions (можно очистить только cache_page).

Если посмотреть функцию taxonomy_vocabulary_delete (например), то она просто вызывает cache_clear_all() без параметров. Этот вариант не подходит?

Потому что Drupal - это круто.
Sevix
На сайте с 24.10.2011
Offline
93
#296
Garin33:
Sevix, а что вы конкретно хотите сделать? Какова цель этого, и зачем вам системный путь прописывать?
Есть еще drupal_flush_all_caches, есть https://www.drupal.org/project/cache_actions (можно очистить только cache_page).

Если посмотреть функцию taxonomy_vocabulary_delete (например), то она просто вызывает cache_clear_all() без параметров. Этот вариант не подходит?

Есть модуль, который очищает кэш конкретно этой ноды при ее редактировании. Остальные кэши не трогаются. Они у меня удаляются раз в 12 мес. по крону.

При создании новой ноды, нужно удалить кэш главной и страницы категории (термина), чтобы новая нода попала в анонс. С главной я справился, а вот термины никак удалятся не хотят. Только если конкретный url прописать.

Я уже подумал, пускай удаляются кэши всех категорий (терминов), сколько их там будет - 5, 10...

Но вот не выходит.

Вот этот код удаляет кэш ноды при создании/редактировании:

function clear_cache_node_node_submit($node, $form, &$form_state)  {

$url = url('node/'. $node->nid, array('absolute' => true));
cache_clear_all($url, 'cache_page', TRUE);
}

Как здесь можно засунуть в переменную либо ее термины, либо вообще все термины?

Alangasar
На сайте с 06.11.2008
Offline
98
#297

Sevix, у ноды же есть поле где хранится tid термина, оттуда его и даставайте. Чистите в hook_node_insert, или hook_node_update.

---------- Добавлено 07.10.2016 в 08:53 ----------

Как-то так


function custom_node_insert($node) {
$tid = $node->field_tem['und'][0]['tid];
cache_clear_all('taxonomy/term/' . $tid, 'cache_page', TRUE);
}


function custom_node_update($node) {
$tid = $node->field_tem['und'][0]['tid];
cache_clear_all('taxonomy/term/' . $tid, 'cache_page', TRUE);
}

function custom_node_delete($node) {
$tid = $node->field_tem['und'][0]['tid];
cache_clear_all('taxonomy/term/' . $tid, 'cache_page', TRUE);
}
Sevix
На сайте с 24.10.2011
Offline
93
#298
Alangasar:
Как-то так

function custom_node_insert($node) {
$tid = $node->field_tem['und'][0]['tid];
cache_clear_all('taxonomy/term/' . $tid, 'cache_page', TRUE);
}


function custom_node_update($node) {
$tid = $node->field_tem['und'][0]['tid];
cache_clear_all('taxonomy/term/' . $tid, 'cache_page', TRUE);
}

function custom_node_delete($node) {
$tid = $node->field_tem['und'][0]['tid];
cache_clear_all('taxonomy/term/' . $tid, 'cache_page', TRUE);
}

Alangasar, то же самое. Если в любой из этих функций прописать конкретный юрл, то строка удаляется. Если же

cache_clear_all('taxonomy/term/', 'cache_page', TRUE);
cache_clear_all('/taxonomy/term/', 'cache_page', TRUE);
cache_clear_all('/taxonomy/term/9', 'cache_page', TRUE);
cache_clear_all('http://site.ru/taxonomy/term/', 'cache_page', TRUE);
cache_clear_all('http://site.ru/taxonomy/term/9', 'cache_page', TRUE);
cache_clear_all('http://site.ru/taxonomy/term/9:standard', 'cache_page', TRUE);

то нифига. Одинаково, хоть с переменной с tid, хоть без.

dma84
На сайте с 21.04.2009
Offline
168
#299

Подскажите под 7-ку СЕО-модуль. Нужны метатеги для терминов, таксономий и прочей чепухи.

Sevix
На сайте с 24.10.2011
Offline
93
#300
dma84:
Подскажи под 7-ку СЕО-модуль. Нужны метатеги для терминов, таксономий и прочей чепухи.

http://drupal.org/project/metatag

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий