1

SEO フレンドリーではないサイトに取り組んでいます。特に、header.tpl はすべてのページに自動的に挿入され、ページのコンテンツに基づいて変更するオプションはありません。つまり、カテゴリ = バスルームまたはカテゴリ = キッチンなどです。

したがって、if/else コマンドが必要ですが、この例ではそれを理解するのに問題があり、それに伴う変更も必要です。

Portfolio_category.php ページのコードは次のとおりです。vf_category に基づいて変更する必要があるのは、parts/header.tpl です (関連する tpl に関連する Title および Description タグが含まれるように、Bathroomheader.tpl、Kitchensheader.tpl などを作成できます)。ページの場合)。

<?php
$vc_root_friendly = '.'; 
$vc_root_site = '.'; 
include_once("$vc_root_site/config.php");

include_once("$vc_includes_folder/IT.php");
$template_body = new HTML_Template_IT();
$template_body->loadTemplateFile("tpl_portfolio_category.html");

include_once("$vc_includes_folder/images.php");

if(!isset($_REQUEST['vf_category'])){
header("location:portfolio.php");
die();
}

//Show header
$template_header = new HTML_Template_IT();
$template_header->loadTemplateFile("parts/header.tpl",true,false);
$template_body->setVariable('header', $template_header->get());

//Show footer
$template_footer = new HTML_Template_IT();
$template_footer->loadTemplateFile("parts/footer.tpl",true,false);
$template_body->setVariable('footer', $template_footer->get());


$template_body->setVariable("image_category", $_REQUEST['vf_category']);

//Select photos for this category
etc.

複雑なことに、上記のコードで参照されている別のページがあります。

tpl_portfolio_category.html

また、このページにも独自の header.tpl インクルードがあります。

<? include_once 'parts/header.tpl'; ?>
{header} 
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr> 
<td  class="main"><h1><span class="firstLetter">{image_category}</span></h1>
  <p>
  </p>
  <table height="89" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr> 
      <td colspan="7">&nbsp;</td>
    </tr>
    <!-- BEGIN block_thumb -->
    <tr> 
      <td width='180' height="120" background="./images/thumb-bg.gif"> <div             

align="center">{thumb1}</div></td>
      <td width="10">&nbsp;</td>
      <td width='180' background="./images/thumb-bg.gif"> <div align="center">{thumb2}    

</div></td>
      <td width="10">&nbsp;</td>
      <td width='180' background="./images/thumb-bg.gif"> <div align="center">{thumb3}

</div></td>
      <td width="10">&nbsp;</td>

    <td width='180' background="./images/thumb-bg.gif"> <div align="center">{thumb4}  
  </div></td>
    </tr>
    <tr valign="bottom"> 
      <td height="3"></td>
      <td height="3"></td>
      <td height="3"></td>
      <td height="3"></td>
      <td height="3"></td>
      <td height="3"></td>
      <td height="3"></td>
    </tr>
    <!-- END block_thumb -->
  </table>
  <br> 
  <img src="images/spacer.gif"></td>
  </tr>
  </table>
  {footer}

任意のガイダンスをいただければ幸いです。データベースから取得した vf_category に基づいて、parts/header.tpl を parts/Bathroomheader.tpl または parts/Kitchenheader.tpl に変更しようとしています。しかし、それは私を狂わせています。

前もってありがとう、ゲイリー

4

1 に答える 1

1

これを行うにはいくつかの方法がありますが、変更するファイルの数を最小限に抑えるために、次のことをお勧めします。a)データベースから変数をプルし、最初のphpファイルのsmartyに割り当てます。ヘッダーと本文:

//Assuming you have retrieved $vf_category from your database;
$template_header->setVariable('vf_category', $vf_category);
$template_body->setVariable('vf_category', $vf_category);

b)ファイルheader.tplを編集し、上部に次のコードを追加します。

{if 'vf_category' == 'some_value'}
    {include file="parts/Kitchenheader.tpl"};
{elseif 'vf_category' == 'other_value'}
    {include file="parts/Bathroomheader.tpl"};
{else}
    //the rest of the header.tpl code goes here
{/if}
于 2012-12-17T08:04:28.060 に答える