Использование любого VIEW на странице добавляет в документ изменения - не могу отловить откуда берутся эти изменения

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

Аватар пользователя antonio78 antonio78 16 октября 2014 в 20:37

Господа добрый день, подскажите куда копать?

Как только на страницу добавляю представление сразу автоматически на страницу добавляется символ "1" который вставляется после body, как следствие в дальнейшем не отрабатываются ajax запросы
Вот что получается:

...
<body class="html front logged-in no-sidebars page-node page-node- page-node-1 node-type-page toolbar toolbar-drawer i18n-ru" style="padding-top: 65px;">1

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta about="/ru/glavnaya-stranica" property="sioc:num_replies" content="0" datatype="xsd:integer">
<link rel="shortcut icon" href="http://benpan.ru/misc/favicon.ico"
...

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

ПА-МА-ГИ-ТЕ!

Комментарии

Аватар пользователя Orion76 Orion76 17 октября 2014 в 10:25

В папке темы(и подпапках, если не знаете где в теме шаблоны искать)
есть файлик views-view.tpl.php или что-то похожее на него?

Аватар пользователя antonio78 antonio78 17 октября 2014 в 11:39

Господа спасибо огромное за респонс!

<?php
function benpan_preprocess_html(&$vars) {
    
//drupal_add_library('system','jquery.cookie');
    //drupal_add_js(drupal_get_path('theme', 'benpan') .'/js/cookie.js');    
    
    
if ($node menu_get_object()) {
        if(
$node->type == "lightpage") {
            
$vars['theme_hook_suggestions'][] = 'html__lightpage';
        }
        if(
$node->type == "project") {
            
drupal_add_js(drupal_get_path('theme''benpan') .'/js/project.options.js');    
        }
    }
}
?>

"1" пропала после того как закоментарил в файле template.tpl.php строку

<?php
drupal_add_library
('system','jquery.cookie');
?>

То что пропал это конечно хорошо, но пока не понимаю, почему "1" появлялась только при наличии view на странице.

Аватар пользователя drupby drupby 17 октября 2014 в 11:57

"antonio78" wrote:
но пока не понимаю, почему "1" появлялась только при наличии view на странице.

смотри содержимое /js/cookie.js в своей теме

(function($, Drupal) {
  Drupal.behaviors.moduleName = {
    attach:function() {
        //$('html body').prepend('<div><input type="submit" value="жми" id="cook"></div>');
         
        //получаем текущее значение куки с именем cook
        var tek_cook = $.cookie('cook');
         
        //Проверяем наличие куки, если не существует, то присваиваем ему значение 1
        if(tek_cook == null){
            $.cookie('cook', '1');
        }
         
        $('#cook').click(function(){
            tek_cook++; //увеличили текущее значение куки на единицу
            $.cookie('cook', tek_cook);
            alert('Увеличили текущее значение куки на единицу, и теперь равно' + tek_cook);
        });
    }
  };
}(jQuery, Drupal));

хотя данный скрипт только записывает куки, но ничего не выводит

Аватар пользователя antonio78 antonio78 17 октября 2014 в 12:06

в том то и вопрос... пока не понимаю, что есть такого во views
что он так реагирует на drupal_add_library('system','jquery.cookie');

Аватар пользователя antonio78 antonio78 17 октября 2014 в 12:44

в общем проблема пока НЕ РЕШИЛАСЬ (

оказалось просто загружался через модем билайн и БИЛАЙНОВСКИ скрипт Anchor.js (который по велению БИЛАЙНа добавляется ко любому контенту пришедшему черен него и выводит хотя я его и не просил БАР с личным кабинетом БИЛАЙНА) выполнялся с ошибкой и не давал нарисоваться "1"!
Uncaught Error: Origin domain is not allowed. Anchor.js:9

Ну да бог с ним с билайном, мой вопрос остается актуальным.

На данный момент делаю вывод
1) "1" добавляется в body скриптом
2) при чем при наличии на странице ЛЮБОГО view даже стандартного ( попытался создать страницу и вывести стандартную вьюху "самый популярный контент") - результат оказался тот же "1" была в БОДИ

кстати вьюху обновил до 3.8 - не помогло

куда копать?

Аватар пользователя antonio78 antonio78 17 октября 2014 в 12:56

меняю html.tpl.php


<?php
print "2";
/**
 * @file
 * Default theme implementation to display the basic html structure of a single
 * Drupal page.
 *
...
?>

"2" оказывается после "1", то есть "1" печатается еще раньше... ???где смотреть

Аватар пользователя antonio78 antonio78 17 октября 2014 в 13:02

<?php
print "2";
/**
 * @file
 * Default theme implementation to display the basic html structure of a single
 * Drupal page.
 *
 * Variables:
 * - $css: An array of CSS files for the current page.
 * - $language: (object) The language the site is being displayed in.
 *   $language->language contains its textual representation.
 *   $language->dir contains the language direction. It will either be 'ltr' or 'rtl'.
 * - $rdf_namespaces: All the RDF namespace prefixes used in the HTML document.
 * - $grddl_profile: A GRDDL profile allowing agents to extract the RDF data.
 * - $head_title: A modified version of the page title, for use in the TITLE
 *   tag.
 * - $head_title_array: (array) An associative array containing the string parts
 *   that were used to generate the $head_title variable, already prepared to be
 *   output as TITLE tag. The key/value pairs may contain one or more of the
 *   following, depending on conditions:
 *   - title: The title of the current page, if any.
 *   - name: The name of the site.
 *   - slogan: The slogan of the site, if any, and if there is no title.
 * - $head: Markup for the HEAD section (including meta tags, keyword tags, and
 *   so on).
 * - $styles: Style tags necessary to import all CSS files for the page.
 * - $scripts: Script tags necessary to load the JavaScript files and settings
 *   for the page.
 * - $page_top: Initial markup from any modules that have altered the
 *   page. This variable should always be output first, before all other dynamic
 *   content.
 * - $page: The rendered page content.
 * - $page_bottom: Final closing markup from any modules that have altered the
 *   page. This variable should always be output last, after all other dynamic
 *   content.
 * - $classes String of classes that can be used to style contextually through
 *   CSS.
 *
 * @see template_preprocess()
 * @see template_preprocess_html()
 * @see template_process()
 *
 * @ingroup themeable
 */
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
  "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language?>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir?>"<?php print $rdf_namespaces?>>

<head profile="<?php print $grddl_profile?>">
  <?php print $head?>
  <title><?php print $head_title?></title>
  <?php print $styles?>
  <?php print $scripts?>
</head>
<body class="<?php print $classes?><?php print $attributes;?>>
  <div id="skip-link">
    <a href="#main-content" class="element-invisible element-focusable"><?php print t('Skip to main content'); ?></a>
  </div>
  <?php print $page_top?>
  <?php print $page?>
  <?php print $page_bottom?>
</body>
</html>
?>

Аватар пользователя drupby drupby 17 октября 2014 в 13:37

"antonio78" wrote:
1) "1" добавляется в body скриптом

не факт, если вставить в препроцесс функцию print 1;, то и получится такой вывод - посмотри template.php на предмет вызова print
также print может быть в имплементации хуков и вполне вероятно вьюсовых в каком то из модулей , смотри в файлах модулей функции ИМЯМОДУЛЯ_views....
либо же в том же template.php в препроцессах вьюса имятемы_preprocess_views_view...
вообщем ищи print 1;

Аватар пользователя antonio78 antonio78 17 октября 2014 в 14:17

ЕСТЬ!!!

Спасибо огромное!

До этого искал print "1" - ничего не находил... теперь же нашел изменение в функции "_views_query_alter"

Всем спасибо, вопрос закрыт!