Здравствуйте. Скачал Seo path (Хак) для Joomla 1.5, и теперь в метаданных материалов появилась возможность вводить Title. Но проблема вот в чем: когда я пытаюсь ввести Title содержащий в себе знак палочки "|" в качестве разделителя, то при сохранении во-первых не сохраняется заголовок, а во вторых выскакивает ошибка. Вот пример заголовка: Код (html): Миниотель Гостиный двор | Гостиницы | Отзывы, рейтинг, рецензии Вот ошибка которая появляется: Warning: html_entity_decode() expects parameter 1 to be string, array given in Zhome\Имя сайта\www\libraries\joomla\html\parameter\element\text.php on line 45 Залезал в этот файл в 45-уй строку. Там сидит вот такой вот параметр: Код (PHP): $value = htmlspecialchars(html_entity_decode($value, ENT_QUOTES), ENT_QUOTES); Пробовал его удалить, но палочка все равно не вопсринимается. Без нее - все супер. С ней - ошибка, плюс в титле страницы пишется "Array". Я конечно понимаю, что эту палочку можно заменить на другой разделитель, но мне хотелось бы оставить ее. Как быть и где копать? Заранее благодарен.
Попробуй так Код (PHP): $value = implode('|',$value); $value = htmlspecialchars(html_entity_decode($value, ENT_QUOTES), ENT_QUOTES);
Забыл. Проверку на массив добавь Код (PHP): if (is_array ($value)){ $value = implode('|',$value); $value = htmlspecialchars(html_entity_decode($value, ENT_QUOTES), ENT_QUOTES); }else{ $value = htmlspecialchars(html_entity_decode($value, ENT_QUOTES), ENT_QUOTES); }
А. Ну так в index.php шаблона куда-нибудь в header добавь Код (PHP): <?php $title = $this->getTitle(); if (is_array($title)){ $title = implode('|',$title); } $this->setTitle($title); ?>
Вставил в head - ничего не изменилось. Попробовал повставлять в body и т.д. - толку ноль. По прежнему в title надпись "Array" . Затем решил попробовать тоже самое на любом другом шаблоне. Вставил этот же код в index и все заработало. Видимо дело в моем шаблоне, но понять не могу с чем именно. Я вложил сам index шаблона и весь шаблон заодно. Он заграничный. Может там как то все подругому сделано и прописываать код надо не в индексе?
Ну шаблон я ковырять не стану. Некогда свои проблемы. Попробуй так Код (PHP): <?php $doc = &JFactory::getDocument(); $title = $doc->getTitle(); if (is_array($title)){ $title = implode('|',$title); } $doc->setTitle($title); ?>
Вопрос решил. Отчаявшись, я начал действовать методом тыка и выискивать в index.php все, что хоть как-нибудь связано с title. В результате в самом начале индекса нашел вот такие строки: Код (PHP): // set title $this->setTitle($mainframe->getCfg('sitename') . ' ' . $this->getTitle()); Попробовал их удалить, и все заработало по решению предложенному выше. Так что, если кто-нибудь юзает шаблоны YooTheme и попадет в такую же ситуацию - берите на заметку. botanist - спасибо большое за помощь. Плюсую.