Нужна помощь по XML и PHP

12 3
S
На сайте с 07.04.2010
Offline
71
1527

Здравствуйте всем.

У меня такая проблема.

Поставил движёк от Дигиселлера,который парсит товары с Плати.

Натянул шаблон,всё вроде нормально прикрутил,но не могу добиться от движка вывода тайтла.

То есть при переходе на страницу товара в Тайтле не например - Купить Товар такой то такой то, стоит Описание товара.

Кто знает какую переменную или условие надоп рописать в файл goods_info.php чтобы для каждого товара подставлялся Тайтл из названия товара?

Кусок кода

<?php
require_once "./inc/functions.php";

$tmp_type = "php";
$tmp_file = "0.tmp";
?>
<?php
// заголовок страницы, массив контактов
$head["title"] = "Описание товара";
$GLOBALS["img_size"] = $info_goods["img_size"];
show_other_name_rate();
// функция вывода контента
function show_content(){
$result = "";
?>
<!-- Список товаров -->
<div class="digiseller-productpage">
<?php
if(!isset($_GET["id"]) or empty($_GET["id"])){
$result .= "<meta http-equiv=\"refresh\" content=\"0; url=index.php\" />\n";}
else{
$_GET["id"] = abs((int)$_GET["id"]);
if(empty($_GET["id"])){
$result .= "<meta http-equiv=\"refresh\" content=\"0; url=index.php\" />\n";}
else{
$answer = $GLOBALS["obj"] -> parse_xml($GLOBALS["obj"] -> goods_info($_GET["id"],$GLOBALS["currency"]));
if($answer -> retval != 0){
$result .= "<p>".$GLOBALS["mess"]["service_error"]."</p>\n";}
else{
$cat = $answer -> product -> categories -> category;
$self_url = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];

$product = $answer -> product;
switch($product["icon"]){
case "new":
$html_class_name = "new";
$vitrina_icon = "Новинка!";
break;

case "sale":
$html_class_name = "action";
$vitrina_icon = "Акция!";
break;

case "top":
$html_class_name = "lider";
$vitrina_icon = "Лидер продаж!";
break;

default:
$html_class_name = "Icon";
$vitrina_icon = "&nbsp;";}
?>
<h1><?php echo $answer -> product -> name;?>
<span class="digiseller-label<?php echo $html_class_name;?>"><?php echo $vitrina_icon;?></span>
</h1>

Внизу кода в теге H1 парсится и выводится название товара, вот как сделать так чтобы это выводилось в тайтл?

Надеюсь своим ломанным языком написал понятно)

Скачать фильмы HD (http://720rip.ru/)!
FladeX
На сайте с 07.11.2008
Offline
163
#1

Вместо

$head["title"] = "Описание товара";

поставьте

$head["title"] = $answer -> product -> name;;

Услуги посредника на бирже контента: информационные статьи 40₽/1000, «продающие» тексты 50₽/1000. Пишите в личку. Помогаю правильно переехать на https (/ru/forum/973447). Подписывайтесь на мой канал в телеграм: https://t.me/fladex (https://t.me/fladex).
S
На сайте с 07.04.2010
Offline
71
#2

Получается пустой Тайтл.

П
На сайте с 07.11.2008
Offline
85
#3

А у Вас вообще нигде не написано, что тайтл выводится. Вот он и пустой.

Впишите тэг title и поставьте там $answer -> product -> name.

Примерно так должно быть:

<title><?=$answer->product->name; ?></title>

S
На сайте с 07.04.2010
Offline
71
#4

$head["title"] = "Описание товара";

Вот тег который отвечает за вывод Тайтла.

А по вашому методы страница перестаёт вообще загружаться.

П
На сайте с 07.11.2008
Offline
85
#5

Вы же говорите, что тайтл в итоге пустой. Если бы этот тэг (как вы сказали, но вообще-то это переменная) отвечает за вывод тайтла, то туда выводился хотя бы "Описание товара". А если не выводит, значит он ни за что не отвечает. У Вас просто не выводится title.

То, что страница перестает загружаться - смотрите ошибки, они у Вас наверно отключены.

Скорее всего не закрыта функция:

function show_content(){

$result = "";

?>

FladeX
На сайте с 07.11.2008
Offline
163
#6

$head["title"] = $answer->product->name;

и вот так не работает?

S
На сайте с 07.04.2010
Offline
71
#7

Если в документе прописано так

$head["title"] = "Описание товара";

То на страницу в итоге выводится так

<title>Описание товара</title>

---------- Добавлено 10.11.2013 в 12:16 ----------

FladeX:
$head["title"] = $answer->product->name;

и вот так не работает?

Так между тегами <title></title> пустота.

У многих на этом движке отображается в тайтле всё нормально....Как то ж они это сделали.

П
На сайте с 07.11.2008
Offline
85
#8

Потому что у вас $answer проинициализировалась позже, чем сделали вывод $head["title"]. Вот у вас туда пустота и заносится. Выведите после инициализации $answer

$head["title"] = $answer->product->name;

Либо инициализацию $answer раньше сделайте, чем title в браузер отдаете.

FladeX
На сайте с 07.11.2008
Offline
163
#9

Вставьте мою строчку сразу после строчки с <h1>.

S
На сайте с 07.04.2010
Offline
71
#10

Вставил, выводится на страницу в таком же виде

То есть прямо под названием товара выводится

$head["title"] = $answer->product->name;

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий