big boy

big boy
Рейтинг
365
Регистрация
18.11.2006
Должность
webmaster

Сделал еще один небольшой заказ, текст написан отличный. Рекомендую!

Ребятушки, подскажите, как можно переписать функцию стандартного модуля taxonomy_module. Функция taxonomy_link - http://api.drupal.ru/api/function/taxonomy_link/6

Хочу убрать дескрипшн при наведении на ссылоки тегов таксономии. Даже нашел нужную часть (выделил жирным):

function taxonomy_link($type, $node = NULL) {
if ($type == 'taxonomy terms' && $node != NULL) {
$links = array();
// If previewing, the terms must be converted to objects first.
if (isset($node->build_mode) && $node->build_mode == NODE_BUILD_PREVIEW) {
$node->taxonomy = taxonomy_preview_terms($node);
}
if (!empty($node->taxonomy)) {
foreach ($node->taxonomy as $term) {
// During preview the free tagging terms are in an array unlike the
// other terms which are objects. So we have to check if a $term
// is an object or not.
if (is_object($term)) {
$links['taxonomy_term_'. $term->tid] = array(
'title' => $term->name,
'href' => taxonomy_term_path($term),
'attributes' => array('rel' => 'tag', 'title' => strip_tags($term->description))
);
}
// Previewing free tagging terms; we don't link them because the
// term-page might not exist yet.
else {
foreach ($term as $free_typed) {
$typed_terms = drupal_explode_tags($free_typed);
foreach ($typed_terms as $typed_term) {
$links['taxonomy_preview_term_'. $typed_term] = array(
'title' => $typed_term,
);
}
}
}
}
}

// We call this hook again because some modules and themes
// call taxonomy_link('taxonomy terms') directly.
drupal_alter('link', $links, $node);

return $links;
}
}

Сменил выделенный код на:

'title' => $term->name

И вставил в template.php, но выскочила ошибка, что такая функция уже определена в стандартном модуле. Переименовал функцию с приставкой "nazvanie_temy_taxonomy_link..." - вообще никаких изменений.

Помогите плиз, желательно пошагово, что и куда вставить.

---------- Добавлено 11.08.2014 в 11:19 ----------

Upd: сработал вот такой вариант (в старой функции):

function termname_separate_terms($node_taxonomy) {
if ($node_taxonomy) {
//separating terms by vocabularies
foreach ($node_taxonomy AS $term) {
$links[$term->vid]['taxonomy_term_'. $term->tid] = array(
'title' => $term->name,
'href' => taxonomy_term_path($term),
'attributes' => array(
'rel' => 'tag',
'title' => $term->name
),
);
}
//theming terms out
foreach ($links AS $key => $vid) {
$terms[$key] = theme_links($vid);
}
}
return $terms;
}

При этом в node.tpl.php надо в начало вставить :

$terms = termname_separate_terms($node->taxonomy);



---------- Добавлено 11.08.2014 в 11:24 ----------

Только тайтл получился пустой. Точнее он совсем испарился вместе с тегом.

Заказывал как-то СЯ, в итоге получил шлак. Подожду отзыв, если всё ок - закажу.

А если не используется xmlrpc - всё равно угроза есть?

tanir23:
делается несколько страниц на один ключ и забиваем большую часть топа

С одного сайта? И сколько раз у Вас так получалось? ))

Людям-то всё равно, какие у вас тайтлы, а вот ПС - нет. Вам надо либо объединить эти статьи в одну, либо уникализировать заголовки.

Да уж, действительно уникальный случай восстановления акка. Поздравляю!

Про запрос - спасибо, не знал.

berkol:
После письма Платону с просьбой о повторной проверке сайта, сайт полностью вернулся в Яшу.

Все показатели доходов итп смотрите ранее. Лот актуален, условия ниже:
Старт: 70 т.р.
Шаг: 2 т.р.
Блиц: 85 т.р. или 48 ППС

Когда Платону писали, даунлоад ПП снимали с сайта или вместе с ней на перепроверку отправили?

Garin33:
big boy вот тут https://modx.pro/help/2274/ описано "Или у тебя изменился домен, или есть путаница с его открытием и с www, и без www."
Не меняли у себя www/без www? Или может что на сервере подкрутили, что & отображается надписью.

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

Я и с www пробовал и без, с точкой в начале и без, через https даже пробовал. Дело не в этом.

Домен в ссылке остаётся такой же, меняется только "&" на "&" и всё начинает работать! Вопрос не в том, правильно я домен вписал или нет (правильно), а в том, что не могу найти где в модуле формируется ссылка на авторизацию в ВК.

---------- Добавлено 06.08.2014 в 18:10 ----------

Всё, нашел. Можно было не гуглить, а перечитать readme 😂

Там написано следующее (может кому пригодится):

Drupal 6 specifics
------------------
Cause it sets arg_separator.output to "&" but it should be just "&"
Line 157 in settings.php:
ini_set('arg_separator.output', '&');

Either comment this line out or change it to:
ini_set('arg_separator.output', '&');

The other way is to patch hybridauth/Hybrid/thirdparty/OAuth/OAuth2Client.php
Line 64:
return $this->authorize_url . "?" . http_build_query( $params );
return $this->authorize_url . "?" . http_build_query( $params, '', '&' );

Исправил OAuth2Client.php и всё заработало.

Проблема с модулем hybridauth (6.x-2.0) с авторизацией в ВК.

После попытки входа на сайт через VK API выдаёт ошибку:


{"error":"invalid_request","error_description":"redirect_uri has wrong domain, check application settings"}

После пары десятков минут мучений удалось найти причину. Она кроется в URL, который пытается открыть модуль:

https://oauth.vk.com/authorize?client_id=XXXXX&redirect_uri=http%3A%2F%2Fsite.ru%2Fhybridauth%2Fendpoint%3Fhauth.done%3DVkontakte&response_type=code&scope=

Где XXXXX - id приложения, а site.ru - домен для примера.

Правильный вариант, при котором всё работает:

https://oauth.vk.com/authorize?client_id=XXXXX&redirect_uri=http%3A%2F%2Fsite.ru%2Fhybridauth%2Fendpoint%3Fhauth.done%3DVkontakte&response_type=code&scope=

То есть в ссылке amp; - лишнее.

Как это можно убрать? Лазил по модулю и по библиотеке авторизации через ВК - заблудился и не нашел ничего подходящего.

Всего: 2924