ну уж никак не могу понять в чем дело.
редактор tinimce. ставлю break. смотрю что получается: режет гораздо позже чем стоит брейк. на вывод пропускает каждый раз по разному. от количества символов не зависит. посмотреть можно допустим здесь - http://motorcycles.ru/taxonomy/term/49 (не сочтите за рекламу)
видно что ссылка "читать дальше" в статьях стоит там, где надо. то есть там, где и стоит брейк. но вывод тизера идет длиннее. уж не знаю где копать. подскажите чайнику, пожалуйста.
themes менял на любую. вывод тот-же.
Комментарии
поставь Node Teaser-туда сможешь вводить любой тизер, даже независимо от содержимого новости.
node teaser не хотелось бы. у меня на phpnuke так было. два окна пользователь не понимает как заполнять.
то есть проблема не решаема? просто есть на сайте уже куча статей.
перезалил модули node - не помогло. кто еще отвечает за вывод текста полного и тизера?
или это не считается проблемой?
У меня похожая проблема.
Тизер отрезается всегда разной длины, иногда вообще ничего. Текст в ноде есть и много, а тизер вообще пустой иногда!
Посмотреть можно здесь.
Я, честно говоря, грешу на tinimce - он наверное (как и все визуальные редакторы) в ноду пихает кучу всякого html-хлама, который наверное потом фильтрами отрезается и не выводится, но из-за этого хлама отрезать корректный тизер не удаётся.
Придётся наверное tinimce грохнуть.
Я тоже парился по этому поводу, он все время выводит !--break-- вместе со всем остальным текстом, мне кажется что это изза того что tinimce все содержимое заносит в html теги, поэтому и не получается должного эффекта. может Вам стоит попробовать BuEditor, если не пробовали, хотя он все таки менее функционален.
не помню в каком редакторе, но возможно во всех так - друпальный сепаратор указывался в конфиг-файле.
почитайте мануал к модулю
зы. вроде в fck
большой спасибо что откликнулись.
отрубил tinimce
оставил вообще штатный редактор. все равно то-же самое...
нет не тоже самое... теперь при выводе брейк сноситься ниже. тоесть делаем текст
вводим:
11111111
...здесь брейк...
22222222
выводит
111111112222222брейк222
что же за хрень то происходит?
добавлю. на моем тестовом сайте - все работает без проблем. с тем же tinimce.
bueditor тоже не так режет. это не редакторы... это что-то хуже. блин, что-же это... ?
?
1) Проверь фильтры
2) Полная деинсталяция тини. Отключай в модулях, удаляй в модулях, удали файлы, проверь после этого БД на факт следов. Поставь снова стабильную версию.
Я у себя заменил tinymce на bueditor и уже написал было сообщение, что проблема решена, но не тут то было.
Я не знаю как друпал вырезает тизер (надо будет посмотреть код), но это, простите, полный пиздец!
Вот конкретный пример: есть нода, текст в ней не содержит ни одного тега вообще (смотрю в базе). Начинается со слов "Здравствуйте! У меня такая история...". В тизер вырезается только "Здравствуйте!". При этом если заменить ! на . , то тизер вырезается нормально (несколько строк текста), если затем поменять обратно на !, то опять в тизере остаётся только "Здравствуйте!".
Может какие-то настройки в php.ini влияют
посмотрел функцию node_teaser - определённо глючный код (версия 5.7) - глючить должна примерно так: всегда, когда нет тегов, тизер обрезается по последнему (укладывающемуся в лимит) ?, если нет ?, то по последнему !, если и его нет, то по последней точке. А правильно должно резаться по последнему любому из этих знаков. Поэтому у меня с восклицательным знаком проблемы и возникли. Если есть теги, то тоже глюки, но другие.
Самое интересное, что здесь функция уже исправлена, а в последнем (5.7) релизе ещё нет.
А вот с !--break-- вроде должна нормально отрабатывать. Ну разве-что какие-то косяки с UTF-8 и стринговыми функциями. shtrlz, если у тебя на тестовом нормально отрабатывает, то попробуй сравнить настройки в php.ini (или вывод функции phpinfo()) обоих серверов, особенно строки, начинающиеся с mbstring. (особенно mbstring.func_overload)
вобщем это опять я
исправленная функция хоть и получше, но тоже глючная, по крайней мере если у вас стоит tinymce, то периодически у вас будут создаваться пустые тизеры (это зависит от заданного лимита тизера, размера первого абзаца, а также версии браузера юзера, размещавшего текст)
shtrlz, ну что там у тебя - что-нибудь получилось? я практически уверен, что у тебя дело в mbstring.func_overload - могу даже объяснить почему: этот параметр переопределяет str* функции для поддержки UTF8, но строковая функция substr начинается не со str* и потому не переопределяется, а значит не совсем верно работает с UTF8 текстом (точнее, не верно работает, если в нём есть русские буквы)
короче когда друпал тизер обрезает - он у тебя сначала отмеряет переопределённой функцией strlen, а потом режет не переопределённой функцией substr - соответственно режет не в том месте
вобщем тебе надо mbstring.func_overload=0 поставить в php.ini , ну или в .htaccess можно попробовать