Цена в тэг TITLE

Тема в разделе "Shop-script", создана пользователем mikas3025, 11 янв 2009.

Статус темы:
Закрыта.
  1. mikas3025

    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 руб. не выводил???
     
  2. Zolinger2

    Zolinger2 Писатель

    Регистр.:
    5 янв 2009
    Сообщения:
    5
    Симпатии:
    5
    вместо:
    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;
                            }
     
    mikas3025 и Welho® нравится это.
  3. mikas3025

    mikas3025 Постоялец

    Регистр.:
    23 дек 2007
    Сообщения:
    107
    Симпатии:
    7
    Можно ли в файле product_detailed.tpl.html сделать так, чтобы какой нибудь кусок текста (пусть произвольный, короче любой, добавленный мной) выводился бы в том случае, если на данный продукт есть цена, и если цена не установлена, то чтоб он не выводился.???

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

    Zolinger2 Писатель

    Регистр.:
    5 янв 2009
    Сообщения:
    5
    Симпатии:
    5
    вообщем если понял так: если цена 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 - блока нет.

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

    mikas3025 Постоялец

    Регистр.:
    23 дек 2007
    Сообщения:
    107
    Симпатии:
    7
    А не получается что то ничего....

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

    В файл 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>

    то соответственно, наличие цены или ее отсутствие ни на что не влияет(((
     
  6. Zolinger

    Zolinger Постоялец

    Регистр.:
    29 сен 2008
    Сообщения:
    111
    Симпатии:
    69
    не внесли изменения в product_detailed.php

    фраза:
    означала что в предлагаемом варианте нужно делать изменения в двух файлах, а не в одном.
     
  7. mikas3025

    mikas3025 Постоялец

    Регистр.:
    23 дек 2007
    Сообщения:
    107
    Симпатии:
    7
    Я именно так и сделал, сначала внес изменения в ПХП файл, а потом в ХТМЛ, просто не стал заострять на этом внимание.
     
Статус темы:
Закрыта.