Index: branches/unlabeled/unlabeled-1.64.2/core/kernel/db/db_tag_processor.php =================================================================== diff -u -r6220 -r6269 --- branches/unlabeled/unlabeled-1.64.2/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 6220) +++ branches/unlabeled/unlabeled-1.64.2/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 6269) @@ -1211,6 +1211,14 @@ if(!$new_value && getArrayValue($title_info['new_titlefield'],$prefix_data['prefix_special']) ) $new_value = $this->Application->Phrase($title_info['new_titlefield'][ $prefix_data['prefix_special'] ]); $title = str_replace('#'.$prefix_data['prefix_special'].'_titlefield#', $new_value, $title); } + + // c. replace all that left with item fields + if (preg_match_all('/#'.$prefix_data['prefix_special'].'_(.*?)#/', $title, $regs)) { + $title_fields = array_unique($regs[1]); + foreach ($title_fields as $title_field) { + $title = str_replace('#'.$prefix_data['prefix_special'].'_'.$title_field.'#', $objects[ $prefix_data['prefix_special'] ]->GetField($title_field), $title); + } + } } }