Вывод заголовка в несколько строк

Аватар пользователя g78knl6cvxf0 g78knl6cvxf0 22 января 2012 в 18:23
1

Чем длиннее заголовок материала, тем больше вероятность того, что он выведется в несколько строк самым неправильным образом.

Например, заголовок "Программа семинара «Роль людей, которые умеют что-то делать на жизненное становление людей, который не умеют ничего» (январь - февраль 2012). Логически вывести не так:

Программа семинара «Роль людей, которые умеют что-то
делать на жизненное становление людей, который не умеют
ничего» (январь - февраль 2012)

а вот так что-ли:

Программа семинара
«Роль людей, которые умеют что-то делать
на жизненное становление людей, который не умеют ничего»
(январь - февраль 2012)

Если вставлять br-ы прямо в заголовок, то они будут выводится как статический текст. Но даже если бы это и работало, заголовки может понадобится разбивать не везде. Например, если это ссылка на материал, выводить в одну строку.

Решение проблемы очень простое:

При заполнении заголовка в местах где должен быть перенос строки ставится 2 пробела (4 - двойной абзац).

В template.php добавляется специальная функция, которая будет заменять двойной пробел на

<?php
function sepTitleBR($str){
    return 
str_replace("  ""<br />",$str); 
}

?>

И вызывается там, где нужно выводить заголовок, например в page.tpl.php


<?php if($title):?>  
<h1><?php print sepTitleBR($title);?></h1>
<?php endif; ?>

профит

Комментарии

Аватар пользователя Enemy Enemy 5 сентября 2012 в 21:39

Спасибо помогло ) сделал замену ковычек в заголовке на пробелы :)
ссылка из-за ковычек не сформировывалась

Аватар пользователя Bios Bios 20 апреля 2016 в 18:09

Отличное решение

для себя два пробела заменил символом "+"

Метод актуален для друпал 7

Аватар пользователя Arvas Arvas 24 июня 2016 в 20:22

А как сделать также, только для заголовка в представлении, который является ссылкой? (например когда несколько товаров, несколько заголовков)