Как сменить данные счётчика перед drupal_goto()

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

Аватар пользователя errand errand 19 июня 2015 в 13:36

Здравствуйте!

Есть тип данных "Внешняя статья" с полем field_source_url. Нужно вывести количество кликов на эту статью с помощью модуля Statistics.

Так как в друпале нет модуля, который бы считал клики по ссылкам, я решил сделать это с помощью Statistics:
вьюха ведёт на страницу "Внешняя статья", на странице добавляю функцию drupal_goto()
Идея в том, чтобы менять total_views и редиректить на нужную страницу, причём делать это незаметно для пользователя.
В node--external_article.tpl.php вставляю

<?php<?
$external_url = $content['field_source_url'][0]['#markup'];
  drupal_goto($external_url);
?>

Проблема в том, что счётчик не меняется.
Подскажите советом, товарищи

Комментарии

Аватар пользователя errand errand 25 июня 2015 в 17:23

Данный модуль у меня не встал,

«The following extensions will be enabled: link_click_count
Do you really want to continue? (y/n): y
WD php: PDOException: SQLSTATE[42000]: Syntax error or access [error]
violation: 1071 Specified key was too long; max key length is 767
bytes: CREATE TABLE {link_click_count} (
`id` INT unsigned NOT NULL auto_increment,
`url` VARCHAR(1000) NOT NULL,
`nid` INT NOT NULL,
`uid` INT NOT NULL,
`date` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `nid_url` (`nid`, `url`),
INDEX `date` (`date`)
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COMMENT 'Table to store
every click detail.'; Array
(
)
in db_create_table() (line 2720 of
includes/database/database.inc).
Cannot modify header information - headers already sent by (output [warning]
started at /usr/share/drush/includes/output.inc:37)
bootstrap.inc:1232
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes: CREATE TABLE {link_click_count} (
`id` INT unsigned NOT NULL auto_increment,
`url` VARCHAR(1000) NOT NULL,
`nid` INT NOT NULL,
`uid` INT NOT NULL,
`date` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `nid_url` (`nid`, `url`),
INDEX `date` (`date`)
) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COMMENT 'Table to store every click detail.'; Array
(
)
in db_create_table() (line 2720 of /includes/database/database.inc).
Drush command terminated abnormally due to an unrecoverable error. [error]
»

Поэтому я сделал

<?
$external_url = $content['field_source_url'][0]['#markup'];
header('Refresh: 1; url='.$external_url.'');
?>

И написал: Скоро вы перейдёте на страницу

Аватар пользователя gun_dose gun_dose 29 июня 2015 в 9:40

"errand" wrote:
Drush command terminated abnormally due to an unrecoverable error. [error]

А через админку модуль включается? Бывает, что глючат некоторые версии drush. У меня так недавно вылетал drush up drupal, откатил drush с версии 4.5 на 4.4 и всё заработало.