? advanced_page_title.patch
Index: page_title.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/page_title/page_title.module,v
retrieving revision 1.2.2.10
diff -u -r1.2.2.10 page_title.module
--- page_title.module 3 Aug 2007 06:52:10 -0000 1.2.2.10
+++ page_title.module 31 Jul 2008 07:26:14 -0000
@@ -82,6 +82,22 @@
'#maxlength' => 128,
'#description' => t('Available placeholders: !site_name, !site_slogan.'),
);
+
+ $form['page_title']['advanced'] = array(
+ '#type' => 'fieldset',
+ '#title' => t('Advanced path based settings'),
+ '#collapsible' => true,
+ '#collapsed' => true,
+
+ );
+
+ $form['page_title']['advanced']['page_title_advanced'] = array(
+ '#type' => 'textarea',
+ '#rows' => 15,
+ '#description' => t('Enter advanced rules in the form: pathpattern==titlepattern' . " where pathpattern is the path in the browser (not the drupal menu path)\n" . " for instance stories/*==!page_title is a story"),
+ '#default_value' => variable_get('page_title_advanced', ''),
+ );
+
return system_settings_form($form);
}
@@ -178,6 +194,7 @@
static $title = NULL;
if (is_null($title)) {
+
$page_title_individual = variable_get('page_title_individual', '!page_title | !site_name');
$page_title_front = variable_get('page_title_front', '!site_name | !site_slogan');
@@ -191,6 +208,19 @@
$site_name = variable_get('site_name', 'drupal');
$site_slogan = variable_get('site_slogan', '');
+ if ($page_title_advanced = variable_get('page_title_advanced','')) {
+ $advanced_patterns = explode("\n",$page_title_advanced);
+ foreach ($advanced_patterns as $pattern) {
+ list($path,$title_pattern) = explode('==',$pattern);
+ if ($path && $title_pattern) {
+ if (ereg($path,$_SERVER['REQUEST_URI'])) {
+ $title = t($title_pattern, array('!page_title' => $page_title, '!site_name' => $site_name, '!site_slogan' => $site_slogan));
+ return $title;
+ }
+ }
+ }
+ }
+
if (drupal_is_front_page() || !$drupal_title) {
$title = t($page_title_front, array('!site_name' => $site_name, '!site_slogan' => $site_slogan));
}