Drupal 为每个客户端定制
我们为各种客户提供SaaS产品。每个客户在虚拟机中都有自己的安装。我们的用户指南以Word/PDF格式发布。客户可以修改用户指南,在用户指南中添加品牌(徽标、产品名称) 现在我们想在Drupal中设置用户指南。将用户指南的内容移动到Drupal中很容易。挑战在于为每个客户进行定制。我们不希望在每个虚拟机中安装Drupal并复制内容 当有人点击我们产品中的“帮助”时,他们可以访问Drupal,我们可以在URL中添加“客户端”、“版本号”等参数。Drupal可以对此进行处理以自定义设置。我们还可以使用客户端信息为每个客户端进行唯一登录 我可以通过更改页面模板中的$logo来修改徽标。但是,它会在全球范围内更改所有客户的徽标。最新点击Drupal设置徽标 我不知道如何/在哪里设置一个逻辑来根据登录定制逻辑。因此,客户端A看到的徽标与客户端B在同一时间访问同一Drupal安装时看到的徽标不同。此外,我们希望能够以类似的方式自定义产品名称 我不需要任何程序代码(但我不介意模块)。只是一些关于如何开发的想法会很好 这是页面模板中的代码。但是,每次新客户访问指南时,徽标都会发生变化。有没有像会话或logoArray[client]这样的功能,我可以用来使每个客户端的徽标都是唯一的,即使许多客户端同时访问该页面Drupal 为每个客户端定制,drupal,module,themes,customization,Drupal,Module,Themes,Customization,我们为各种客户提供SaaS产品。每个客户在虚拟机中都有自己的安装。我们的用户指南以Word/PDF格式发布。客户可以修改用户指南,在用户指南中添加品牌(徽标、产品名称) 现在我们想在Drupal中设置用户指南。将用户指南的内容移动到Drupal中很容易。挑战在于为每个客户进行定制。我们不希望在每个虚拟机中安装Drupal并复制内容 当有人点击我们产品中的“帮助”时,他们可以访问Drupal,我们可以在URL中添加“客户端”、“版本号”等参数。Drupal可以对此进行处理以自定义设置。我们还可以使
<?php
$arglist = drupal_get_query_parameters();
if ( count( $arglist ) > 0 ):
$theme_name = 'bootstrap_ivs7';
$var_name = 'theme_' . $theme_name . '_settings';
$settings = variable_get($var_name, array());
if ( $arglist['logoflag'] == 'logoclient1' ): ?>
<?php if ($logo):
$logo='http://localhost/ivs7/sites/default/files/logo_client1.png';
$settings['logo_path'] = $logo;
variable_set($var_name, $settings);
<?php endif;
else:
if ( $arglist['logoflag'] == 'logoclient2' ):
$logo='http://localhost/ivs7/sites/default/files/logo_client2.png';
$settings['logo_path'] = $logo;
variable_set($var_name, $settings);
<?php
else:
$logo = 'http://localhost/ivs7/sites/all/images/logo_default.png'; ?>
$settings['logo_path'] = $logo;
variable_set($var_name, $settings);
<?php endif; ?>
<?php endif; ?>
<?php endif; ?>
<?php
<a class="logo navbar-btn pull-left" href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>">
<img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" />
</a>
?>
$settings['logo_path']=$logo;
变量集($var\u name,$settings);
从自定义模块或主题,您可以实现更改任何模板的变量。每个客户机想要自定义的变量很可能都在page.tpl.php
模板中使用,因此这将是XYZ\u preprocess\u page()
(其中XYZ
是主题或模块的名称)