Отображение title на главной

Нормальный титл

Дописывал для себя. Нужно было чтобы скрипт выполнял следующие действия:

1. Выводил название категории или товара, а после тот титл который указал бы я
2. При отсутствии явно прописанного титла для категории или товара, выводил бы титл который прописывается в настройках магазина как основной.

Все это реализованно здесь:

PHP:
<?php
/*****************************************************************************
 *                                                                           *
 * Shop-Script PREMIUM                                                       *
 * Copyright (c) 2005 WebAsyst LLC. All rights reserved.                     *
 *                                                                           *
 *****************************************************************************/
?><?php
	// <head> variables definition: title, meta

	// TITLE & META Keywords & META Description

	if ( !isset($_GET["show_aux_page"]) ) //not an aux page, e.g. homepage, product/category page, registration form, checkout, etc.
	{

		if (isset($categoryID) && !isset($productID) && $categoryID>0) //category page
		{
			$q = db_query("SELECT name, meta_keywords FROM ".CATEGORIES_TABLE." WHERE categoryID<>0 and categoryID<>1 and categoryID='$categoryID'") or die (db_error());
			$r = db_fetch_row($q);
			if ($r[1] == '') {$r[1] = CONF_DEFAULT_TITLE;}
				if ($r)
				{
					$page_title = $r[0]."&nbsp;(".$r[1].")";
				}
			else
			{
				$page_title = CONF_DEFAULT_TITLE;
			}
			$page_title = str_replace( "<", "&lt;", $page_title );
			$page_title = str_replace( ">", "&gt;", $page_title );

			$meta_tags = catGetMetaTags($categoryID, 'cat');

		}
		else if (isset($productID) && $productID>0) //product information page
			{
				$q = db_query("SELECT name, meta_keywords FROM ".PRODUCTS_TABLE." WHERE productID='$productID'") or die (db_error());
				$r = db_fetch_row($q);
				if ($r[1] == '') {$r[1] = CONF_DEFAULT_TITLE;}
				if ($r)
				{
					$page_title = $r[0]."&nbsp;-&nbsp;".$r[1];
				}
				else
				{
					$page_title = CONF_DEFAULT_TITLE;
				}
				$page_title = str_replace( "<", "&lt;", $page_title );
				$page_title = str_replace( ">", "&gt;", $page_title );

				$meta_tags = prdGetMetaTags($productID, 'product');
			}
		else if (isset($obzorID) && $obzorID>0) //obzor information page
			{
				$q = db_query("SELECT title, meta_keywords FROM SS_obzor_table WHERE NID='$obzorID'") or die (db_error());
				$r = db_fetch_row($q);
				if ($r[1] == '') {$r[1] = CONF_DEFAULT_TITLE;}
				if ($r)
				{
					$page_title = $r[0]."&nbsp;(".$r[1].")";
				}
				else
				{
					$page_title = CONF_DEFAULT_TITLE;
				}
				$page_title = str_replace( "<", "&lt;", $page_title );
				$page_title = str_replace( ">", "&gt;", $page_title );

				$meta_tags = prdGetMetaTags($obzorID, 'obzor');
			}
			
			else // other page
			{
				$page_title = CONF_DEFAULT_TITLE;
				$meta_tags = "";
				if  ( CONF_HOMEPAGE_META_DESCRIPTION != "" )
					$meta_tags .= "<meta name=\"Description\" content=\"".CONF_HOMEPAGE_META_DESCRIPTION."\" />\n";
				if  ( CONF_HOMEPAGE_META_KEYWORDS != "" )
					$meta_tags .= "<meta name=\"KeyWords\" content=\"".CONF_HOMEPAGE_META_KEYWORDS."\" />\n";
			}

	}
	else // aux page => get title and META information from database
	{
		$page = auxpgGetAuxPage( $show_aux_page );
		$page_title				= $page["aux_page_name"]." - ".CONF_DEFAULT_TITLE;
		$meta_tags = "";
		if  ( $page["meta_description"] != "" )
			$meta_tags .= "<meta name=\"Description\" content=\"".str_replace("\"","&quot;",$page["meta_description"])."\">\n";
		if  ( $page["meta_keywords"] != "" )
			$meta_tags .= "<meta name=\"KeyWords\" content=\"".str_replace("\"","&quot;",$page["meta_keywords"])."\" >\n";
	}

	$smarty->assign("page_title",	$page_title );
	$smarty->assign("page_meta_tags", $meta_tags );


?>

Скопировать и заменить все в файле includes/head.php

РАБОТАЕТ: При бодавлении или редактировании категории или товара внизу страницы добавления есть поле Meta Keywors (по умолчанию). В него и вставляем свой, нужный титл.

У себя я также убрал вывод тэга HTML Keywors, чтоб титл в нем не выводился.
 
Все э то очень хорошо! Ну а при регистрации у тебя никаких ошибок нет?

Добавлено через 4 минуты
Warning: Cannot modify header information - headers already sent by (output started at /sata1/home/users/etools/www/www.site.ru/includes/head.php:1) in /sata1/home/users/etools/www/www.site.ru/core_functions/functions.php on line 68


68 строке:
function Redirect( $url )
{
header("Location: ".$url);
exit;
}
 
title в отдельном xxx.tpl.html

не подскажете, сделал xxx.tpl.html, в /includes/xxx.php, всё работает, только не могу разобраться, как title, description, KeyWords для этой страницы сделать. Может быть можно в head.php прописать, например
$page = auxpgGetAuxPage( $имя новой страницы );
$page_title = $page["титул какой нужен"];
может что-то вроде этого?
 
хочешь для этой страницы title, description, KeyWords уникальными сделать?
 
Да, я просто решил не использывать страницы: /index.php?show_aux_page=1,
и сделал свои, например: /index.php?contact=yes, и хочу для них сделать title, description, KeyWords. Как это сделать?
 
Касательно #21 сообщения.
Изменила includes/head.php, как указано, так у меня вообще никаких изменений не произошло, как добавлялось/отображалось в поле Meta Keywors, так и продолжает отображаться, т.е. title новый не появился....?
 
Чтобы отображался тот титл который нужно! Добавьте к нужному товару его! Проще говоря в описании товара заполните поле META KEYWORS, скорее всего он пустой. При пустом выводится все Дефолтно!

Добавлено через 2 минуты
Это стандартная функция Скрипта, и я ее не трогал!!! А ошибка возникает из-за не правильно последовательности действий скрипта. Сначала где-то идет вывод инфы, а потом редирект... А такого не должно быть! Функция header должна использоваться до любового вывода инйормации в скрипте.
 
Само-собой поле META KEYWORS заполняется, в моем случае мне нужен отдельный тайтл для категорий, а не для товара....Короче, не понятно почему не рабтает, если должен и сделано всё прально..:(

P.S. И действительно появляется ошибка при рег-ции, как написал indiemax в #22 сообщении...
 
Все попробовал сделать как написано, но перестает работать корзина. Т.е. страница с корзиной просто становится пустая. Сейчас пытаюсь разобраться. пока не очень успешно...

причина вот в чем - $page_title = $r[0]."&nbsp;(".$r[1].")";
каким-то образом это сносит корзину
 
Все попробовал сделать как написано, но перестает работать корзина. Т.е. страница с корзиной просто становится пустая. Сейчас пытаюсь разобраться. пока не очень успешно...
причина вот в чем - $page_title = $r[0]."&nbsp;(".$r[1].")";
каким-то образом это сносит корзину

Получилось что нить?
У меня такая же фигня с корзиной получилась.
 
Назад
Сверху