多站点安装和一个主题:如何知道哪个多站点用户? -- theming 领域 和 multi-sites 领域 drupal 相关 的问题

Multi-site installation and one theme: how to know on which multisite user is?


1
vote

问题

中文

我有drupal多路,我有三个不同的网站。他们都使用相同的主题。现在我需要对某些网站上可见的模板进行小的更改。如何在模板级别说明使用的网站。

例如,在网站上的首页上,我希望有:

一些内容

但随后在站点2的首页上,我不希望斯蒂夫展示。我可以以某种方式获得这个吗?是在模板内找到泰国右站点的"母语" 方式,也许是在template.php中?

谢谢。

英文原文

I have Drupal multisite, where I have three different sites. THey all use same theme. Now I would need to do small changes to templates that only visible on some sites. How can I tell on template level that what site is used.

For example on site 1's front page I would like to have:

Some content

But then on site 2's front page I dont want that div to be showed at all. Can I achive this somehow? Is theere "native" way to find out thie right site inside template, maybe in template.php?

Thanks.

     

回答列表

1
 
vote

我建议做多个主题,每个站点/一组网站 - 他们都有一个常见的主题作为父级。

这样,您可以覆盖各个站点上的特定元素,而无需担心添加所有逻辑以检查您当前呈现内容的内容。

 

i would suggest doing multiple themes, one per site/group of sites - where they all have a common theme as parent.

that way you can overwrite specific elements on individual sites without having to worry about adding all the logic to check what site your currently rendering content for.

 
 
1
 
vote

您可以尝试使用此代码。它在类似情况下完美地为我工作了

  // Allow a site-specific user defined CSS file (useful for multisite installations): // If a CSS file "local-[SITE].css" is residing in the "css" directory (beside "local.css"), // it will be loaded after "local.css". SITE is the site's host name, without leading "www". // For example, for the site http://www.mydomain.tld/ the file must be called called "local-[mydomain.tld].css" global $base_url; $site = preg_replace("/^[^/]+[/]+/", '', $base_url); $site = preg_replace("/[/].+/", '', $site); $site = preg_replace("/^www[^.]*[.]/", '', $site); drupal_add_css(path_to_theme() . '/css/local-[' . $site . '].css', 'theme', 'all');   
 

You may try to use this code. It worked for me perfectly in similar situation

// Allow a site-specific user defined CSS file (useful for multisite installations): // If a CSS file "local-[SITE].css" is residing in the "css" directory (beside "local.css"), // it will be loaded after "local.css". SITE is the site's host name, without leading "www". // For example, for the site http://www.mydomain.tld/ the file must be called called "local-[mydomain.tld].css" global $base_url; $site = preg_replace("/^[^\/]+[\/]+/", '', $base_url); $site = preg_replace("/[\/].+/", '', $site); $site = preg_replace("/^www[^.]*[.]/", '', $site); drupal_add_css(path_to_theme() . '/css/local-[' . $site . '].css', 'theme', 'all'); 
 
 
0
 
vote

由于它们使用相同的主题,您可以使用基于 alias 或完整路径。 希望有所帮助。

 

Since they're using the same theme you could use a condition based on the alias or full path. Hope that helps.

 
 
   
   
0
 
vote

我不确定它是否与您正在寻找的东西有任何关系,但不能在 $ base_url变量?

好运

 

I am not sure if it has anything to do with what you are looking for, but couldn't you just add a condition on $base_url variable?

Good-luck

 
 

相关问题

1  如何输出引用节点的节点字段作为纯文本键/值对?  ( How to output node fields of referenced nodes as plain text key value pairs ) 
我有一个超级内容类型,包含至少4个节点引用。 前三个引用并不总是相同的节点类型,但它们只包含一个参考。 第三个参考可以包含多个引用,这些引用都是相同类型,但这些类型的类型与时间不同。 第四个引用只引用一个节点,每个节点都始终是相同的类型。 所以我有一个超级节点,它引用了数字和节点类型并不总是相同的少数其他节点。那是我...

1  如何在区域/区域TPL文件中获取内容类型?  ( How to get the content type in the zone region tpl files ) 
如何从区域/区域或部分(使用omega主题)模板文件中获取节点类型。我知道如何为特定内容类型覆盖页面/节点级别的模板 - 但我似乎无法找到一个可变或任何指向当前正在显示的单个类型的单个节点内容类型的变量。 ...

2  Drupal移动主题不显示图像  ( Drupal mobile theme doesnt display image ) 
我正在工作一个Drupal网站的移动版本,我正在使用移动工具切换主题基于URL的桌面版本和移动版本之间。我正在使用 Fusion Mobile 主题在移动侧。 现在,此事是在移动版本中的视图中没有显示图像。有一些过滤,可以禁用主题上的图像,但我找不到它在哪里。 ...

1  drupal 7 hook_theme()未加载模板文件  ( Drupal 7 hook theme not loading template file ) 
我正在尝试使用drupal的hook_theme()加载模板文件的一个非常简单的模块。它几乎可以像你可以想象的那么简单。 function sectionheader_theme ( $existing, $type, $theme, $path ) { return array( 'sectionh...

4  核心主题功能的位置?  ( Location of core theme functions ) 
在哪里可以找到核心主题功能代码(D7)?我想使用表主题函数作为模板,以便是新主题函数我正在编写。 arnold ...

0  从D7中的Page.tpl.php访问$内容['link']  ( Access to contentlinks from page tpl php in d7 ) 
我了解如何在Page.tpl.php文件中打印节点字段和自定义字段,但是如何添加$ content ['links'],(或者我假设$ content ['注释],但我真的只是在寻找链接),就像它在node.tpl.php? 我看了一个节点对象,我没有在那里看到它。我想最终有两个地方打印的节点链接,其中一个地方最容...

1  Ubercart - 将uc_order-customer.tpl.php转移到我的主题文件夹使电子邮件发送了两次  ( Ubercart moving uc order customer tpl php to my theme folder makes emails sent ) 
ive将uc_order.tpl.php复制到我的它们文件夹以及uc_order-customer.tpl.php哪个,用于从客户通知电子邮件中删除几个字段。 问题是,现在同时发送相同的电子邮件通知,同时发送到同一电子邮件地址。 如果我从主题文件夹中删除文件,问题会消失,但当然我需要修改模板,我不会想要黑客核心...

0  node-name.tpl.php不覆盖节点模板。我已经清除了主题注册表  ( Node name tpl php doesnt override the node template ive cleared theme registr ) 
我正在使用drupal 7.8,我尝试了用drupal 6做的同样的事情,为节点类型进行自定义布局。 我已复制node.tpl.php,并重命名它节点nameofthenodetype.tpl.php,更改了模板,将其上载到主题文件夹。 令人惊讶的是,Drupal 7不接受:它显示了默认节点布局。 谁能告诉我我做错了...

1  我的960电网系统具有更广泛的标准。 55px而不是为16列的40px  ( My 960 grid system has wider columns that standard 55px instead 40px for 16 col ) 
我惊讶地发现我的网站比应该是宽的。 我使用使用960电网系统的Drupal + Omega主题。 站点的总宽度为1180而不是960。 列更宽: 在16列选项上:它们应该是40px,它们是55px 12列选项:它们应该是60px,它们是80px。 排水沟为20px,还可以。 问题是什么? ...

0  主题a页面节点不是所有页面节点  ( Theme a page node not all page nodes ) 
我有一个节点类型的页面:页面名称"最新" 。我正在寻找一个模块,让我用评论表格和事物以及我想要添加一些代码来添加一些代码。不更改所有页面内容类型。 我确定我为我的模板添加了一些东西,以前可以实现这一目标。我使用Drupal 6.任何人都可以指出我的正确方向吗?谢谢。 我会去看一个节点是否相同,而是从过去的经历中的感觉...

0  更改Drupal 6的节点编辑表单模板  ( Change node edit form template for drupal 6 ) 
我以不同的方式尝试过这个,但没有什么似乎工作! 我希望能够为不同的节点类型应用不同的主题编辑表单。 谢谢 ...

2  用户配置文件自定义样式(每个用户)  ( User profile custom style per user ) 
有没有办法提供用户的配置文件,而是在所有用户身上而不是全局制作它? ...

0  如何防止图像上的高度/宽度属性通过主题系统运行?  ( How can i prevent height width attributes on images run through the theme system ) 
我的网站现在在Drupal 7.9上运行。 在发行说明(第4位置)据报道以下注释: 恢复图像的高度/宽度属性通过主题系统运行 这正是我不想要的,因为我的图像变得扭曲了。 如何防止图像上的高度/宽度属性通过主题系统运行? ...

1  如何将参数从视图传递给node.tpl.php  ( How to pass arguments from views to node tpl php ) 
有没有办法将参数从视图传递给除了通过选择构建模式的节点模板?我使用节点作为行样式。 我使用的显示套件+节点显示设置自定义构建模式。在我的节点 - "内容类型" .tpl.php我可以通过来决定 $node->build_mode 渲染。 但首先,我感觉像顶部一样安装显示套件+节点显示只是通过一个参数,第二个...

5  分类页面上的节点显示模式  ( Node display mode on taxonomy page ) 
如何选择在分类页面上使用的节点的显示模式? 默认使用节点预告模式显示节点,但我想为显示分类页面的节点创建自定义样式。 我可以将缩短的模式更改为我需要的东西,然后在使用预告片视图的每个地方更改。 ...

1  删除jquery并找出要包含的要求  ( Remove jquery and find out what is asking it to be included ) 
我正在使用drupal 7,我根本不希望jquery完全包含。似乎大多数人都在主题钩子中倡导修改JS。我认为这很好,但似乎这很危险,有点愚蠢。 如果我们在请求某些东西后删除jQuery,那么就不会突破任何要求?我怎样才能找到需要jQuery的东西? 与默认情况下包含的所有系统CSS文件。我也发现,使用主题挂钩摆脱它们...

1  在Drupal 7中块内容  ( Theming block contents in drupal 7 ) 
我可以更改块编辑 block.tpl.php 文件的整体布局。我可以修改 subject 看起来的方式,但我想通过单行代码单行访问的块的 contents 。 <?php print $content ?> 现在,如何主题内容块,即列表项目等? 如果我未能澄清自己,请在您的评论中提及它。谢谢:) ...

1  当我改变主题时,我看不到我的侧巴  ( When i change theme i cant see my sidebars ) 
我是一个总n00b,只是试图设置我的第一个网站。 我有一个很好的Bartik主题,然后意识到我想要在主菜单上下拉菜单,所以决定尝试另一个主题。 我尝试了Corolla和Martinelli,但是当我将它们设置为默认主题时,我看不到我的侧栏或页脚。 仍然设置为bartik,如果我切换回来,那么我再次看到它们。 显然...

0  优化CSS&JS中断IE&Firefox(所有主题)  ( Optimize css js breaks ie firefox all themes ) 
问题 主题未使用Internet Explorer&amp的个人生产服务器显示在我的生产服务器上; Firefox设置CSS&amp后; JS优化选项已启用。我最初认为主题被打破了,但是在进一步的评论后,我意识到由于CSS / JS优化被禁用的原因IE不起作用是因为Internet Explorer没有处理超过3...

9  如何将变量从自定义模块传递到其模板文件?  ( How do i pass a variable from a custom module to its template file ) 
我需要知道将变量从自定义模块传递给其模板文件的最简单方法。 我已经创建了自定义.module并放置在模块文件夹中的matust.tpl.php。 function custom_menu(){ $items = array(); $items['custom'] = array( 'title'...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.