1

是否有某种模块或某些东西可以设置为只有管理员才能在页面上显示,当它加载时(例如在底部或其他地方)告诉我加载的所有内容或该页面上的某些内容?比如,我需要节点、模块、分类术语、模板、视图、URL 别名等等等等,一切皆有可能。

我遇到的问题是我没有创建这个我现在使用 Drupal CMS 管理的站点,但是,Drupal 到处都是该死的内容区域,实际上不可能跟踪到底发生了什么事情。页面上有一个视图模块、块等,但我需要在页面加载后以某种方式找出页面上所有与 Drupal 相关的内容,它应该吐出与该页面上加载的 Drupal 相关的所有内容。最初将网站放在一起的人在帮助这方面不合作,即使他们得到报酬来进行网站编辑,他们也不分享任何关于他们具体做什么的知识!在我看来,它们毫无用处!

因此,查看该页面的视图,看起来它只输出“所有视频”部分。我应该在哪里查看它们在该页面的年份部分中是如何排序的?

好的,所以我在 main.js 文件中看到了这段代码:

  /* Isotope for Videos and Gallery */
  blam('#block-views-videos-block .view-content').isotope({itemSelector: '.views-row', animationEngine: 'jquery'});
  blam('#block-views-press-gallery-block .view-content').isotope({itemSelector: '.views-row', animationEngine: 'jquery'});

  /* Remove class 'active' from video menu items */
  removeActiveClass('.menu-name-menu-videos-menu ul li', 1);

  blam('.menu-name-menu-videos-menu ul li a').click(function(){
    var selector;
    var menu_item = blam(this).text();
    removeActiveClass('.menu-name-menu-videos-menu ul li', 0);
    /*Add 'active' class to video menu item*/
    blam(this).closest('li').addClass('active');

    if( menu_item.indexOf("2012") != -1 ) {
      selector = '.2012';
    } else if( menu_item.indexOf("2011") != -1 ) {
      selector = '.2011';
    } else if( menu_item.indexOf("2010") != -1 ) {
      selector = '.2010';
    } else if( menu_item.indexOf("2009") != -1 ) {
      selector = '.2009';
    } else if( menu_item.indexOf("2008") != -1 ) {
      selector = '.2008';
    } else if( menu_item.indexOf("2007") != -1) {
      selector = '.2007';
    }

    if(selector) {
      blam('#block-views-videos-block .view-content').isotope({filter: selector});
    } else {
      blam('#block-views-videos-block .view-content').isotope({filter: '.views-row'});
    }
    return false;
  });

});

/* Removes all Active classes from menu items */

function removeActiveClass(e, i){
  var elements = blam(e);

  for(var index = i; index < elements.length; index++) {
    blam(elements[index]).removeClass('active');
  }
}

所以,我在这里改变了这一点:

    if( menu_item.indexOf("2012") != -1 ) {
      selector = '.2012';
    } else if( menu_item.indexOf("2011") != -1 ) {
      selector = '.2011';
    } else if( menu_item.indexOf("2010") != -1 ) {
      selector = '.2010';
    } else if( menu_item.indexOf("2009") != -1 ) {
      selector = '.2009';
    } else if( menu_item.indexOf("2008") != -1 ) {
      selector = '.2008';
    } else if( menu_item.indexOf("2007") != -1) {
      selector = '.2007';
    }

对此:

if( menu_item.indexOf("2013") != -1 ) {
  selector = '.2013';
} else if( menu_item.indexOf("2012") != -1 ) {
  selector = '.2012';
} else if( menu_item.indexOf("2011") != -1 ) {
  selector = '.2011';
} else if( menu_item.indexOf("2010") != -1 ) {
  selector = '.2010';
} else if( menu_item.indexOf("2009") != -1 ) {
  selector = '.2009';
} else if( menu_item.indexOf("2008") != -1 ) {
  selector = '.2008';
} else if( menu_item.indexOf("2007") != -1) {
  selector = '.2007';
}

但它仍然不起作用。我还缺少其他东西吗?

4

1 回答 1

2

他们实际上是使用 Views 模块输出所有视频(我认为这是一个名为 Videos 的视图,并且您可以在此处看到该视图的一个块)。

过滤实际上不是 Drupal 的事情,这可能就是您努力寻找它的原因。他们正在使用一个名为 Isotope 的 jQuery 插件来进行过滤,这会改变项目的不透明度等,并通过 CSS3 制作动画。他们对视图的每个项目应用一个类,在这种情况下,每个视频都有年份。例如,来自 2013 年的任何项目都将具有“2013”​​作为一个类。我在附件中突出显示了我从中找到该信息的地方。使用 Chrome 检查器(或 Firebug),您可以查看添加的所有同位素类,也可以查看年份类。

在此处输入图像描述

现在,您可以看到前三个确实有 2013 级,所以我认为这可能是 Isotope 的问题。开始调试的一个好地方是查看调用 Isotope 函数的 JS 文件。我想为您指出正确的文件,但 Drupal 已经缩小了 js 文件,所以有点难。

同位素网站在这里:http: //isotope.metafizzy.co/index.html

于 2013-10-17T05:51:29.837 回答