日: 2008年9月18日

【EC-CUBE】お問い合わせフォームに項目追加

例として「お問い合わせ」のお客様情報入力欄に「会社名」欄を追加する

1)\data\class\pages\contact\LC_Page_Contact.php を修正。

  1. 「フォーム値変換用カラム」部分の「お名前」の前に会社名分を追加。 (Ver.2.3Rc1の場合、L79あたり)
    array( “column” => “cname01”, “convert” => “aKV” ),
  2. 「エラーチェック処理部」部分の「お名前」の前に会社名分を追加。 (Ver.2.3Rc1の場合、L188あたり)
    $objErr->doFunc(array(“会社名”, “cname01”, MTEXT_LEN), array(“SPTAB_CHECK” ,”MAX_LENGTH_CHECK”));

2)\data\Smarty\templates\default\contact\index.tpl を修正。 

会社名入力枠を「お名前」の前に追加する。 (Ver.2.3Rc1の場合、L37あたり)

<tr>
<th>会社名</th>
<td>
<input type=”text”
class=”box380″
name=”cname01″
value=”<!–{$cname01|default:$arrData.cname01|escape}–>”
maxlength=”<!–{$smarty.const.STEXT_LEN}–>”
style=”<!–{$arrErr.cname01|sfGetErrorColor}–>” /> 
</td>
</tr>

3)\data\Smarty\templates\default\contact\confirm.tpl

会社名表示枠を「お名前」の前に追加する。 (Ver.2.3Rc1の場合、L38あたり)

<tr>
<th>会社名</th>
<td><!–{$arrForm.cname01|escape}–></td>
</tr>

4)\data\Smarty\templates\default\mail_templates\contact_mail.tpl

会社名を「お名前」の前に追加。 (Ver.2.3Rc1の場合、L42あたり)

■会社名:<!–{$arrForm.cname01}–>

【EC-CUBE】SEO対策の続き。GOOGLE MAP用サイトマップ内のURLも変更。

EC-CUBEのサイト内URLをSEO用に静的HTML化した。で、今度は、GOOGLEサイトマップ用のXMLファイル内のリンクも同じように静的HTML化する。

※これは、自サイトの記事(https://bton.papalabs.net/?p=325)で、既に一覧や詳細ページなど全体的な静的HTML化の設定が出来ていることを前提とする。

/data/class/pages/LC_Page_Sitemap.php

を修正。

(Ver.2.3Rc1の場合)
L240

            $page = array(“url” => SITE_URL . sprintf(“%sproducts/list.php?category_id=%d”, $mobile, $result[$i][‘category_id’]));

↓↓↓下記のように変更。

            $page = array(“url” => SITE_URL . sprintf(“%sproducts/list%d.html”, $mobile, $result[$i][‘category_id’]));

L264

            $page = array(“url” => SITE_URL. sprintf(“%sproducts/detail.php?product_id=%d”, $mobile, $result[$i][‘product_id’]),
                          “update_date” => $result[$i][‘update_date’]);

↓↓↓下記のように変更。

            $page = array(“url” => SITE_URL. sprintf(“%sproducts/detail%d.html”, $mobile, $result[$i][‘product_id’]),
                          “update_date” => $result[$i][‘update_date’]);

SMARTYのテンプレート内でphpコードを直接埋め込んで使用するには。

テンプレートにphpコードを直接埋め込む事ができる。
これは $php_handling の設定に関係なく必ず実行される。

{php} と {/php}の間に挟めばいいだけ。

  // テンプレートから直接phpスクリプトをインクルードする場合は、
{php}
  include(“/path/to/includefile.php”); //←詳細のコードは、こっちのPHPファイルに書ける。
{/php}

(Smartyマニュアルより)

phpでそのページそのもののURLを所得→表示するコード

このページのURLは何だろう?これが分かると、GETしたそのURLを変数として、色々使えそう。

てことで、そのページのURLを取得するPHPコード。

<?php

$thisURL=’http://’.htmlspecialchars($HTTP_SERVER_VARS[‘HTTP_HOST’],ENT_QUOTES).htmlspecialchars($HTTP_SERVER_VARS[‘REQUEST_URI’],ENT_QUOTES);

define(‘CONFIG_THIS_URL’,$thisURL);  
echo CONFIG_THIS_URL;

?>

define以下は使用しないで、直接「 echo $thisURL; 」としてもOK。