MODxのeFormでリファラを取得してみた。

MODx 1.0.5J-r3
eForm 1.4.4.6

MODxでリファラの取得方法を調べたが見つからないので、作ってみました。

まず2つのスニペットを用意します。

1つめのスニペット [[get_referer]]


<?php
if(! isset($_SESSION['ref'])){
$_SESSION['ref'] = $_SERVER["HTTP_REFERER"];
}
?>

2つめのスニペット [[echo_referer]]


<?php
$referer = $_SESSION['ref'];
echo $referer;
?>

テンプレートの1行目にスニペット [[get_referer]] を追加。


[[get_referer]]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

入力フォームのチャンク {{ContactForm}} に スニペット [[echo_referer]] を追加。


<input type="hidden" name="referer" id="referer" value="[[echo_referer]]"
 eform="::0::" />
<input type="submit" name="contact" id="cfContact" class="button"
 value="送信する" />
</fieldset>
</form>

チャンク {{ContactFormReport}} に [+referer+] を追加


ウェブサイトの問い合わせフォームからの送信です。

--------------------------------------------------------
お名前 : [+name+] さん
Email :  [+email+]
件 名  :  [+subject+]
内 容  :
[+message+]
--------------------------------------------------------
リファラ  :  [+referer+]

これでリファラが取得できるようになりました。

MODx Revolutionをさくらのレンタルサーバスタンダードにインストールしてみた。

MODx 2.0.8-pl-jp

まだMODx Revolutionを使った事がなかったので試しにインストールしてみました。

Evolutionと違い、動作環境に条件が増えているようなので、動作環境を満たすサーバを探したところ、今契約している「さくらのレンタルサーバ スタンダード」でも条件を満たしている事がわかり、Revoを初インストールする事になりました。

MODx Revolutionの動作環境はこのリンク先の後半部分

今回MODx Revolutionをインストールした「さくらのレンタルサーバ スタンダード」のスペックは以下の通りです。

  • Apache:1.3.42
  • php:5.2.17
  • MySQL:5.1.30
  • zlib:1.2.3
  • JSON:1.2.1
  • mod_rewrite:OK!
  • GD:2.0.34
  • PDO:OK!
  • SimpleXML:OK!
  • cURL:OK!
  • memory_limit:128M
  • safe_mode:OFF
  • Register_globals:OFF

サーバが条件を満たしているので、早速MODx Revolutionをインストールしたいのですが、「さくらのレンタルサーバ」にはMODxをインストールする際に注意しなくてはならない事が2点ほどあります。

注意点その1

さくらのレンタルサーバ」は.htaccessファイルによるphpの設定ができません。

さくらのレンタルサーバ」でphpの設定を行うには、MODxをインストールするディレクトリにphp.iniファイルを作成し、phpの設定を行う必要があります。誤って.htaccessにphpの設定をしてしまうと「500 Internal Server Error」となりますのでご注意ください。

下記が今回のphp.iniの設定です。


register_globals = Off
display_errors = On
magic_quotes_gpc = On
language = "Japanese"
mbstring.internal_encoding = "UTF-8"
mbstring.encoding_translation = On
mbstring.http_input = "auto"
mbstring.http_output = "auto"

mod_rewrite関係の設定は.htaccessファイルに記述していただいてOKです。

注意点その2

MODxをインストールする際、デフォルトでデータベースホスト(サーバー)名が「localhost」になっておりますが、「さくらのレンタルサーバ」ではデータベースサーバのURLでの指定になります。

例:mysqlxxx.db.sakura.ne.jp (xxxは数字になります)

お使いの「さくらのレンタルサーバ」の「サーバコントロールパネル」のメニューから「データベースの設定」をクリックして、データベースサーバのURLを確認してください。

以上の2点を注意して設定すれば、MODx Revolutionは「さくらのレンタルサーバ スタンダード」で今のところ問題なく動作をしております。

さくらインターネット