Цена в тэг TITLE

Статус
В этой теме нельзя размещать новые ответы.

mikas3025

Постоялец
Регистрация
23 Дек 2007
Сообщения
107
Реакции
7
тут на форуме задавал вопрос о том, как вставить цену товара в тэг ТАЙТЛ, решение нашел, спасибо Zolinger!

Вот файл head.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 FROM ".CATEGORIES_TABLE." WHERE categoryID<>0 and categoryID<>1 and categoryID='$categoryID'") or die (db_error());
$r = db_fetch_row($q);
if ($r)
{
$page_title = $r[0]." - ".CONF_DEFAULT_TITLE;
}
else
{
$page_title = CONF_DEFAULT_TITLE;
}
$page_title = str_replace( "<", "&lt;", $page_title );
$page_title = str_replace( ">", "&gt;", $page_title );

$meta_tags = catGetMetaTags($categoryID);

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

$meta_tags = prdGetMetaTags($productID);
}
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 );


?>

Собственно вопрос вот в чем - сейчас, если у товара нет цены, то в тайтл он выводит: Наименование товара - 0.00 руб. - Фирма...

Как сделать, чтобы если нет цены, то 0.00 руб. не выводил???
 
вместо:
PHP:
					$r[2] = show_price( $r["Price"] ); 
					$page_title = $r[0]." - ".$r[2]." - ".CONF_DEFAULT_TITLE;
поставь:
PHP:
					$r[2] = show_price( $r["Price"] );
					$page_title = $r[0]." - ".$r[2]." - ".CONF_DEFAULT_TITLE;
						if ($r["Price"]==0) {
							$page_title = $r[0]." - ".CONF_DEFAULT_TITLE;
						}
 
Можно ли в файле product_detailed.tpl.html сделать так, чтобы какой нибудь кусок текста (пусть произвольный, короче любой, добавленный мной) выводился бы в том случае, если на данный продукт есть цена, и если цена не установлена, то чтоб он не выводился.???

Почему об этом спрашиваю?
Ситуация такая. Занимаюсь поставками измерительных приборов, и есть сайт этой тематики на движке шоп-скрипта, с функциями заказа приборов в нем. Но многие люди, заходя на сайт, думают, что это ИНТЕРНЕТ-МАГАЗИН, а не фирма, у которой есть офис ну и пр... То есть часть этих посетителей мы теряем, как клиентов.
Я создал второй магазин, и из первого сайта, в файле product_detailed.tpl.html, сделал ссылку на такую же страницу во вором магазине. Есть товары, снятые с пр-ва, на которых нет цены, но нужно, чтоб они были на сайте, чтобы вместо них предлагать что то новое.
 
вообщем если понял так: если цена 0 - блока нет. если цена есть - выводится блок.

То в одном product_detailed.tpl.html изменений будет не достаточно (можно, но лучше как предлагаю)

product_detailed.php

ищем строки где есть код:

PHP:
				$a[12] = show_price( $a["Price"] );
				$a[13] = show_price( $a["list_price"] );
				$a[14] = show_price( $a["list_price"] - $a["Price"]); //you save (value)

добавляем две строки:

PHP:
				$zero_price = $a["Price"];
				$smarty->assign("zero_price", $zero_price);
				$a[12] = show_price( $a["Price"] );
				$a[13] = show_price( $a["list_price"] );
				$a[14] = show_price( $a["list_price"] - $a["Price"]); //you save (value)

product_detailed.tpl.html

вставляем в нужной части шаблона след. код:

PHP:
{if $zero_price != 0}
Здесь пишем требуемый информационный блок.
{/if}

смысл: условие проверяет есть ли цена. При отсутствии цены в базе сидит 0. Вот по нему и идет проверка. Если не 0 - то блок есть. Соответственно если 0 - блока нет.

Вместо фиксированного блока можно подставлять переменное значение, но это уже другая история.
 
А не получается что то ничего....

сделал так, как написано выше - вообще ничего не выводит.

В файл product_detailed.tpl.html написал такое:

{if $zero_price != 0}
если Вы хотите купить {$product_info.name} в режиме Online, перейдите в наш интернет-магазин по этой <a class="olive" href="http://www.111111.ru/?productID={$product_info.productID}">ссылке</a>
{/if}

если написать так:

если Вы хотите купить {$product_info.name} в режиме Online, перейдите в наш интернет-магазин по этой <a class="olive" href="http://www.111111.ru/?productID={$product_info.productID}">ссылке</a>

то соответственно, наличие цены или ее отсутствие ни на что не влияет(((
 
не внесли изменения в product_detailed.php

фраза:
То в одном product_detailed.tpl.html изменений будет не достаточно (можно, но лучше как предлагаю)

означала что в предлагаемом варианте нужно делать изменения в двух файлах, а не в одном.
 
Я именно так и сделал, сначала внес изменения в ПХП файл, а потом в ХТМЛ, просто не стал заострять на этом внимание.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху