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

22 января 2012 в 18:23

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

Например, заголовок "Программа семинара «Роль людей, которые умеют что-то делать на жизненное становление людей, который не умеют ничего» (январь - февраль 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; ?>

профит

Комментарии

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

5 сентября 2012 в 21:39

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

24 июня 2016 в 20:22