&#20107;&#20363;&#38598;&#12289;&#12486;&#12517;&#12540;&#12488;&#12522;&#12450;&#12523; - MODX Community Forums https://forums.modx.com/board/?board=192 <![CDATA[AjaxSearchのフォームをmethod='get'で送信できるようにしてみました。]]> https://forums.modx.com/thread/56365/ajaxsearch-method-get#dis-post-330785 (別ページに検索結果を表示する場合)

検索結果からページ移動後に「戻るボタン」を押すと、白いページで「フォームを再送信」しないと検索結果に戻れないので、フォームメソッドをGETで送れるように改造してみました。

もし、上記のような症状で不都合を感じている方がいらっしゃれば、使ってみて下さい。
またバグとか、修正するべきところとかあったらご指摘お願い致します。

編集内容は、こちらのブログに解説しています。
http://webparty.t-pad.net/modx/ajaxsearch/ajaxsearch%E3%82%92get%E3%81%A7%E4%BD%BF%E3%81%86%E3%80%90%E6%94%B9%E9%80%A0%E3%80%91
]]>
https://forums.modx.com/thread/56365/ajaxsearch-method-get#dis-post-330785 Sat, 19 Dec 2009 04:00:46 +0000 https://forums.modx.com/thread/56365/ajaxsearch-method-get#dis-post-330785
<![CDATA[bbclone でページリンクに URLを記録できるようにする]]> https://forums.modx.com/thread/56378/bbclone-url#dis-post-330835 bbclone-0.4.9b-utf8
レンタルサーバー さくらスタンダードおよび coreserver で動作確認済み
動作環境 フレンドリーURL 「あり」および「なし」両方で確認
目的 bbclone でグローバル統計、訪問済みページのページリンクが正常に記録できない
    及び詳細統計でどこから来たかのリンクが google 検索からのときに正常に記録できないのを修正

modx の index.php の先頭に次のコードを挿入する
$HTTP_USER_AGENT = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
$HTTP_REFERER = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';


modx の index.php の末尾に次のコードを挿入する
$_SERVER['HTTP_USER_AGENT'] = $HTTP_USER_AGENT;            // 必要な環境変数を復活します
$_SERVER['HTTP_REFERER'] = $HTTP_REFERER;
$page_title=$modx->documentObject['pagetitle'];            // ページタイトルを取得します
$bbclone_path=$modx->config['$base_path']."../bbclone/";   // bbclone のパスにあわせてセットしてください
define("_BBC_PAGE_NAME", "$page_title");
define("_BBCLONE_DIR", $bbclone_path);
define("COUNTER", _BBCLONE_DIR."mark_page.php");
if (is_readable(COUNTER)) include_once(COUNTER);


bbclone/lib/marker.php の 321 行目を以下のように書き換えます。
$REQUEST_URI = $this->filter_uri($filename, $PATH_INFO , $PHP_SELF);
                            ↓
$REQUEST_URI = $_SERVER['REQUEST_URI']);

]]>
https://forums.modx.com/thread/56378/bbclone-url#dis-post-330835 Tue, 24 Feb 2009 08:08:06 +0000 https://forums.modx.com/thread/56378/bbclone-url#dis-post-330835
<![CDATA[eForm のユーザ定義イベントを使ってみる]]> https://forums.modx.com/thread/56377/eform#dis-post-330833
[[eFormEvent]] ← eForm の呼び出し前にユーザ定義関数のスニペット名を指定する
[!eForm? &formid=`ContactForm` &subject=`[+subject+]` &to=`[(emailsender)]` &ccsender=`1` &tpl=`ContactForm` &report=`ContactFormReport` &invalidClass=`invalidValue` &requiredClass=`requiredValue` &cssStyle=`ContactStyles` &gotoid=`46` &eFormOnBeforeFormMerge=`onBeforeFormMerge` &eFormOnBeforeFormParse=`onBeforeFormParse` &eFormOnBeforeMailSent=`onBeforeMailSent` &eFormOnMailSent=`onMailSent` &eFormOnValidate=`onValidate` !]

イベント呼出用関数をスニペット名 [b]eFormEvent として保存した場合の内容例[/b]
コード中に、<?php ~ ?> を含むと全角文字がデコードされてしまうためここでは割愛しています。
function onBeforeFormParse (&$fields,&$templates) {
	echo '<p>(1)フォームがパースされる直前に呼び出されます。フォームからPOSTされた妥当なデータ ($_POST) がある場合にのみ、パースが行われます。</p>';
	return true;
}

function onValidate(&$fields,&$vMsg,&$rMsg) {
	echo '<p>(2)ビルトインのバリデーションがパースされた後に呼び出されます。バリデーションの拡張に使います。</p>';
	return true;
}

function onBeforeMailSent( &$fields ) {
	echo '<p>(3)メッセージが送信される前に呼び出されます。このイベントは&noemailが設定されているかどうかに関わらず呼び出されます。 <br />';
	echo '   標準のフォームチェックでできないチェックを拡張できます。 </p>';
	if ($fields['email'] == $fields['verify_email']) return true;
	$fields['validationmessage']='確認用メールアドレスに相違があります。確認してください';
	return false;
}

function onBeforeFormMerge( &$fields ) {
	echo '<p>(4)フォームがクライアントブラウザに出力される前に呼び出される、最後のイベントです。 <br />';
	echo '   ウェブユーザ、またはマネージャとしてログインしている場合に名前とメールアドレスを設定する例です。</p>';
	$info=userInfo();
	$fields['name']=$info['fullname'];
	$fields['email']=$info['email'];
	return $fields;
}

function onMailSent( &$fields ) {
	echo '<p>(5)メッセージを送信した後に呼び出されます。&toが設定されていない場合、またはメールアドレスが正しくない場合、このイベントは呼び出されません。 </p>';
}

function userInfo() {
	global $modx;
	if (isset ($_SESSION['webValidated'])) {		// web user
		return $modx->getWebUserInfo($_SESSION['webInternalKey']);
	} else
	if (isset ($_SESSION['mgrValidated'])) {		// manager user
		return $modx->getUserInfo($_SESSION['mgrInternalKey']);
	} else {
		return false;
	}
}
(3)と(4)の呼び出される順番が逆だったので入れ替えました。 2009/02/23]]>
https://forums.modx.com/thread/56377/eform#dis-post-330833 Sun, 22 Feb 2009 09:39:02 +0000 https://forums.modx.com/thread/56377/eform#dis-post-330833
<![CDATA[フロントエンド ドキュメントマネージャ (FDM) 使用記]]> https://forums.modx.com/thread/56376/fdm#dis-post-330831 http://modxcms.com/forums/index.php/topic,14977.0.html

日本語言語ファイル(tkfm さん提供)
http://modxcms.com/forums/index.php/topic,32838.msg200078.html#msg200078

フロントエンド ドキュメントマネージャ とは eForm をベースにしたドキュメントを追加、編集するためのスニペットです。
ドキュメントを追加するためのスニペットとして NewsPublisher がありますが、これから使ってみようと思うならこちらをお勧めします。

メリットとして以下があげられます
(1)ユーザー、ウェブユーザーのどちらのIDでも利用できるため柔軟性が高い
   わざわざ、ウェブユーザーをつくらなくても管理者としてログインしていれば利用できる。
   そのため HPにログイン画面を作る必要がない。

(2)QuickEdit と比較してのメリット
   QuickEdit は本文を中心とした編集しかできずドキュメントの追加はできない。
   テンプレート変数にも対応しており、どんなアプリケーションにも応用することができます。
   その為、管理画面に不満のある顧客に提供する画面を簡単に作成できるスニペットとして他に比較するものがありません。

(3)メール送信スニペット eForm をベースにしています
   そのためフォームの作成方法などは eForm のドキュメントがそのまま応用できます。
   入力チェックなども eForm の強力な機能が使用でき NewsPublisher のようにプログラムでチェックをする必要がありません。

以後、インストール方法から使い方までを順を追って説明していきます。]]>
https://forums.modx.com/thread/56376/fdm#dis-post-330831 Wed, 18 Feb 2009 09:48:42 +0000 https://forums.modx.com/thread/56376/fdm#dis-post-330831
<![CDATA[[ご意見募集]インストール後にやるべきこと]]> https://forums.modx.com/thread/56371/#dis-post-330813
MODxのインストール方法は、各サイトで皆さん力を入れて説明されてますが、インストールが終わって、
管理画面にはじめてログインした時、特にMODxをはじめて使われる方の中には、「これからどうすんの?」と、
戸惑う方も多いと思います。(実際、そのような書き込みがフォーラムでもちらほら見受けられます)

「初期設定」という部類になりますが、皆さんからの声を反映した形でまとめさせていただき、
「インストールが終わったらやっておきたいこと」、「よりスムーズにサイトの制作に入るためには・・・」といったタイトルで
インストール直後の手順や設定方法を日本公式サイトに提案してみようと思いますがいかがでしょうか。

範囲を広げすぎて焦点がぼけてもいけませんので、今回はテンプレートの作成やアドオン部品の追加といった
二次的な設定は含まずに、インストール直後の素な状態での設定に限定したいと思います。

 ・まずはメニューを一巡り
 ・グローバル設定は最低これを・・・
 ・TinyMCEはこれ!
 ・ロール/ユーザの追加はお早めに
 ・初期バックアップは必ず採れ
 ・ここの部分が特に分かりにくいので十分な説明を望む!

何でも結構です。

MODxを長く使われている方には、設定の順序にも気を配って頂けると大変助かります。

ご協力のほど、よろしくお願いします。]]>
https://forums.modx.com/thread/56371/#dis-post-330813 Wed, 18 Feb 2009 05:00:01 +0000 https://forums.modx.com/thread/56371/#dis-post-330813
<![CDATA[チュートリアル - ページが増えてきたらやっておきたいこと]]> https://forums.modx.com/thread/56375/#dis-post-330821
今回は、ページが増えてきた時に管理画面の操作を楽にする改造です。変更するのは2行だけですが、
コアソースに手を入れますので、バージョンアップの際のメンテナンス作業が煩雑になるとお考えの方は
適用しないでください。


1.リソース保存時のキャッシュクリアを理解する

 MODxがリソース(ドキュメント含む)の保存タイミングでキャッシュをクリアすることは皆さんご存知だと思います。
 クリア処理では主に以下のことが行われます(assets/cache/siteCache.idx.phpを見ると理解が深まります)。

  (1) assets/cache内のファイル削除(*.html, siteCache.idx.php, sitePublishing.idx.php)
  (2) システム設定キャッシュ($modx->config --> siteCache.idx.php)
  (3) ページインデックス、エイリアスパス、コンテントタイプキャッシュ( --> siteCache.idx.php)
  (4) チャンクキャッシュ( --> siteCache.idx.php)
  (5) スニペットキャッシュ( --> siteCache.idx.php)
  (6) リフレッシュタイム(公開/非公開スケジュール)の設定( --> sitePublishing.idx.php)

 キャッシュのクリアと言うと(1)を想像しますが、実際には全体の処理のほんの一部にすぎません。
 MODxは、上記(2)~(5)を事前に行い、データベースへのアクセスを最小限に留めることでページを高速に表示します。


2.ページが増えてくると発生する問題

 ページの増加とともに上記(3)の処理時間がリニアに増大していきます。サイト内のページ数が数十ページの場合は、
 それほど気になりませんが、数百、数千、・・になると、この待ち時間が耐え難いものになってきます。


3.キャッシュをクリアせずにドキュメントを保存するには・・・

 ドキュメントの編集 > ページ設定 > キャッシュのクリア?  のチェックを外して保存します。
 但し、このチェックは保存するときに一度だけ働き、次回編集するとONに戻ってしまいます。
 詳しくはこちら > http://modxcms.com/forums/index.php/topic,31438.msg190763.html#msg190763


4.コアの改造

 改造は簡単。上記3.の「キャッシュのクリア?」のデフォルトをOFFにします。
 (バージョンによってコードが変わりますのでご自分のバージョンに合わせて改造してください。下は0.9.6.3の改造例です)

 "name=syncsitecheck"のinput要素の"checked"属性を外します。
 manager/actions/mutate_content.dynamic.php L750近辺
<?php /* <td><input name="syncsitecheck" type="checkbox" class="checkbox" checked="checked" onclick="changestate(document.mutate.syncsite);" /> */ ?>
<td><input name="syncsitecheck" type="checkbox" class="checkbox" onclick="changestate(document.mutate.syncsite);" />

 value="1" をvalue="0"に変更します。
 manager/actions/mutate_content.dynamic.php L790近辺
<?php /* <input type="hidden" name="syncsite" value="1" /> */ ?>
<input type="hidden" name="syncsite" value="0" />


5.活用シーンと注意点

 上記の改造は、ドキュメント数が多いサイトほど効果が高くなりますが、ドキュメントの保存操作を繰り返し行う、
 サイトの初期作成シーンでも効果を発揮します。また、運用者権限を分けて、ドキュメントの編集を専門に行う人に
 キャッシュをクリアさせない効果も期待できます。

 言うまでもありませんが、上記の改造を施した場合、修正前の古いページが表示されたままになりますので、
 ドキュメントの修正&承認がとれた段階で、メニューの「キャッシュのクリア」を行ってください。

 「サイトの設定」でドキュメント保存時のキャッシュクリアのデフォルト値を切り替えられると最高なのですが、
 それはまた別の機会に。。。

 簡単な改造ですが効果抜群です。是非お試しください。]]>
https://forums.modx.com/thread/56375/#dis-post-330821 Sun, 08 Feb 2009 06:36:45 +0000 https://forums.modx.com/thread/56375/#dis-post-330821
<![CDATA[Encryption 1.0.2 を使ってみました]]> https://forums.modx.com/thread/56374/encryption-1-0-2#dis-post-330820 modx 0.9.6.3
Encryption 1.0.2
専用SSL
Joe’s レンタルサーバー

まずはこちらから Encryption_1.0.2.txt をダウンロードします。 http://www.modxcms.com/Encryption-1229.html

このスニペットは専用SSL および共有SSL で利用できます。実行時の注意点として暗号化を利用するページは「キャッシュを生成」のチェックははずしておきます。

専用SSL の場合は案外あっさりと設定できました。共有SSL の coreserver の場合はいまだに現在格闘中です。あとで泣きついた時にはよろしくお願いします。
Encryption を使った場合でも base_url の問題は別に解決する必要があります。また専用SSL を使った場合には eForm の画像認証へのリンクが https:// になっているようで問題ないようです。

Installation

1. Copy the text file into a new snippet called "Encryption".
 ダウンロードが完了したらテキスト内容をスニペットに貼り付け Encryption という名前で保存します。

2. Edit the $secureserver parameter to match the location of your site when it is encrypted. For example https://www.hostingco.com/~foo.
 SSLでアクセスするサーバーのアドレスを指定します。
 最後の / は不要です。
 $secureserver = "https://www.example.com" と入力。

3. Edit the $unsecureserver parameter to match the location of your site when it is not encrypted. For example http://www.foo.com.
 http:// でアクセスするサーバーのアドレスを modx のルートディレクトリまで含めて指定します。
 最後の / は不要です。
 $unsecureserver = "http://www.example.com/modx

Using a Template Variable

1. Create a template variable called "encryption" that is a checkbox. The "input option values" should be "On" (capital O) or 1. The default value should be "Off" or 0.
 テンプレート変数を作成します。

 変数名:encryption
 入力タイプ:Check Box
 入力時のオプション値:「ページを暗号化する場合にはチェックしてください」とかなんとか
 既定値:0

2. Add the template variable to templates.
 暗号化を利用したいテンプレートを選択しチェックして、テンプレート変数の設定を保存します。

3. At the top of each template add the call to the snippet. For example:
 使用したいテンプレートの先頭にスニペットの呼び出しを記入します。
[[Encryption]]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


4. Edit the documents to be encrypted and check the encryption checkbox.
 暗号化したいドキュメントを編集し、暗号化のチェックボックスをチェックしてください。

Friendly URLs
 htaccess の設定変更は特に必要ありません。あってもなくても動作に違いはないようです。

次回、共有SSL が設定できればあらためて報告いたします。]]>
https://forums.modx.com/thread/56374/encryption-1-0-2#dis-post-330820 Wed, 28 Jan 2009 08:38:49 +0000 https://forums.modx.com/thread/56374/encryption-1-0-2#dis-post-330820
<![CDATA[チュートリアル - リソースカテゴリ使ってますか?]]> https://forums.modx.com/thread/56373/#dis-post-330818
リソース管理では、デフォルトで幾つかのカテゴリ(英文)が予め定義されていて、各リソースが分類・配置されています。
でも、このカテゴリ、使っていくうちに、「使いづらい」/「新しく作ったリソースをどこに配置しよう?」などと思うことありませんか?
分類するのが面倒で、新しく作ったリソースをカテゴリなしで保存すると、最初はそれほど不都合を感じなくても、
リソースが多くなり、似通った名前のものが増えてくると、「そろそろ整理するか・・・」となる人も多いと思います。

そこで、お勧めしたい分類方法を一つ。

デフォルトのカテゴリは、「各リソースの機能(どういうものか、何ができるか、どういう時に使うか)」、という尺度で作られています。
この分類方法は、MODxの使い方次第では有効に働く場合も多いのですが、使い込んでいくと、運用になじまない気がしてきます。
MODxは、ドキュメントという分かり易い単位でコンテンツを管理するので、「そろそろ整理するか・・・」となった時に、どのリソースが
どのドキュメントに深く関係するか
、という尺度で分類すると、管理がしやすくなる場合があります。
例を挙げると以下のような感じです。

 ・10-ホーム関連
 ・20-AAAページ関連
 ・21-BBBページ関連
 ・30-CCCページ関連
  ・・・
 ・90-共通(ナビゲータ)
 ・91-共通(検索)
  ・・・

サイトを複数の人で管理する場合は、リソースの持ち主(管理者/担当者)ごとに分類するような方法も考えられます。

カテゴリが階層化できるともっと使いやすくなるかもしれませんね。]]>
https://forums.modx.com/thread/56373/#dis-post-330818 Mon, 26 Jan 2009 12:19:18 +0000 https://forums.modx.com/thread/56373/#dis-post-330818
<![CDATA[チュートリアル - ロック解除の使いどころ]]> https://forums.modx.com/thread/56372/#dis-post-330817
MODxを使い慣れてる方は既にご存知と思いますが、ツール > ロックの解除 についての小ネタです。

1.機能の概要

 リソース(ドキュメントやテンプレート、チャンク、スニペット、ユーザなど)のロック(編集中/排他状態)を強制的に解除します。

2.機能の特徴・動き

 複数のユーザでサイトを管理する環境で使います。
 例えば、あるユーザ(Aさん)が、あるリソース(R)を編集開始後、終了操作を行わずにブラウザを閉じたり、PCをシャットダウンした場合、そのリソースはロックされたままになります。そのリソース(R)をAさんが再度編集する場合は問題ありませんが、他のユーザ(Bさん)が編集しようとすると、「AさんがRを編集中です・・・」が表示され、編集できなくなります。

3.使用シーン

 サイトを個人的に(単一ユーザで)運用する場合は、殆ど使うことはありません。
 複数のユーザでサイトを管理しはじめた途端に、「XXXが編集できない。なんで?」という問題がしばしば起こります。「ロックの解除」権限を持つ管理者がロックを解除すればすぐに問題はなくなります。しかし、すべての運用者がロックの仕組みを正しく理解してないと同じ問題が繰り返し起こり、管理者に大きな負担が掛かります。

4.管理者の負担を軽くし、スムーズに運用するためには

 運用者にロックの仕組みを正しく理解してもらうことや、運用者の中にロックの解除権限を持つユーザを最低一人置くことで、管理者の負担は随分軽くなります。但し、運用者全員にロックの解除権限を与えてしまうと、ロック(同一リソースの編集の衝突を防ぐ)機能が無意味になってしまうので、通常このようなロール(権限)設定は行いません。
]]>
https://forums.modx.com/thread/56372/#dis-post-330817 Sun, 25 Jan 2009 09:53:38 +0000 https://forums.modx.com/thread/56372/#dis-post-330817
<![CDATA[特定のページを https に切り替える方法 htaccess を利用する]]> https://forums.modx.com/thread/56369/https-htaccess#dis-post-330809
プラグインを使う方法とのメリットは管理画面も切り替えることができることでしょうか。管理画面はお気に入りに https:// で登録しておけばいいだけなのでたいしたメリットではありませんが。

サンプルサイトのコンタクト画面と管理画面を https の画面に切り替える例です。
FireFox では FCKeditor で画像が表示されない場合も有るようですがしつこくリトライしているうちに表示されるようになりました。
IE7 でも FCKeditor で「保護されている項目とされていない項目が・・・」とか表示されて画像が表示されませんでしたがしつこく試しているうちにこのメッセージも表示されなくなり画像も表示されるようになりました。ブラウザのキャッシュが残っていたのかもしれません。

共有SSL にも利用できますが TinyMCE が使えなくなるようです。

.htsccess ファイルの
RewriteEngine On
RewriteBase /

の下に以下の行を追加します

RewriteCond %{REQUEST_URI} .*/contact-us.html$ [OR]
RewriteCond %{REQUEST_URI} .*/manager/index.php$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteCond %{REQUEST_URI} !(.*/contact-us.html$)
RewriteCond %{REQUEST_URI} .html$
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
]]>
https://forums.modx.com/thread/56369/https-htaccess#dis-post-330809 Tue, 20 Jan 2009 07:22:55 +0000 https://forums.modx.com/thread/56369/https-htaccess#dis-post-330809
<![CDATA[チュートリアル - サイトが完成に近づいたらやっておきたいこと]]> https://forums.modx.com/thread/56370/#dis-post-330810
  敢えて言うまでも無い各ページのHTML/XHTML、CSS、RSSなどのバリデート(文書の妥当性検証)。
  見た目では分からない問題を摘出してくれてハッとさせられることしきり。時にはプログラム的な問題を解決する手段にも。

2.性能検証

  サーバやネットワーク、クライアント端末などの組み合わせや測定時の状態で、正確な性能を測るのは困難ですが、
  少なくとも、内部的な”作り”に起因する性能問題はできるだけ摘み取っておきたいもの。
  私の場合は、ここ([^時間測定値^])が結構役に立ちました。フッターあたりに表示しておくと便利です。
  http://www.bodenplatte.jp/osscms/modx/modxtag.html
  共用サーバの場合は、計る度に開きのある結果(時間値)が表示されますが、複数計測した結果の平均を取ることで
  そこそこ信頼できるデータが取れます。

  技術的な用語がよく分からない方のためにもう少し柔らかい説明を試みてみます。

   ・クエリー : データベースに格納されているデータを取ってくる処理
   ・パース  : ページを作成するための処理(クエリーは除く)
   ・ページソース : ブラウザから表示要求が来た時に、以前作り出したページ情報(キャッシュ)を使ったかどうか
   "database" = キャッシュを使わずに表示した(プログラムがページを作り出した) ※速度性能=一般的に遅い
   "cache"   = キャッシュを使って表示した(動的[未解決]な部分は補完される) ※速度性能=一般的に速い

  ページの表示速度を、この情報を基に調整しようとした場合、以下の順序で確認&改善していくと、スムーズに作業が
  進むかもしれません(ボトルネックを探してつぶす)。

   ポイント1) 部分的にでもキャッシュされるはずのページが常に"database"なんてことはないか。
   ポイント2) クエリー発行回数が予想以上に大きな数字を示してないか
   ポイント3) クエリー時間とパース時間に大きな開きがないか(何十倍、何百倍など)

  どうすれば改善できるの?となるわけですが、話は簡単。キャッシュの使用率を上げること。
  語弊を恐れずに言えば、クエリー回数を極力0(ゼロ)に近づけること。ただこれも、無理をしすぎてパースに負荷を
  掛けすぎると返って逆効果になる場合があります。

  簡単なチェック方法は、まず、ページ設定の「キャッシュを生成」がOFFになってないか確認。その後、スニペットの
  呼び出しで無駄にキャッシュ不可にしてるところを探して対処します([! abc !] -> [[ abc ]])。
  次に論理的な対処やハードチューニングに向かっていくわけですが、これ以降は職人技の範疇になってくると思い
  ますので、この場での言及は控えたいと思います。(1/20加筆)

小ネタですがご賞味ください。(こんなこともいいよ・・・は継続募集中)]]>
https://forums.modx.com/thread/56370/#dis-post-330810 Mon, 19 Jan 2009 04:36:30 +0000 https://forums.modx.com/thread/56370/#dis-post-330810
<![CDATA[チュートリアル - すべてのページを強制的にキャッシュさせる方法]]> https://forums.modx.com/thread/56368/#dis-post-330803
エクスポート機能を使ってサイト内のすべてのページを強制的にキャッシュさせる小ネタです。
周知の事実かもしれませんが、探すのに結構苦労したのでご存知ない方のために・・・

1.手順
 ・exportフォルダにファイル(エクスポート済みのファイルなど)があれば消去(念のため)
 ・「ツール」→「サイトのエクスポート」を実行

2.用途
 ・制作依頼者に対するオンラインデモ、納品
 ・キャッシュ状態での各ページの性能測定 など

3.備考/ご注意
 ・エクスポートはすべてのページをキャッシュに入れつつexportフォルダにページソースを吐き出すようです。
 ・エクスポート時間はページ数やプログラム量によって左右されますが、ダウンロードツールなどよりは確実かと。
 ・動的ページでもテンプレートの展開や結合、その他静的な処理はキャッシュの過程で行われます。
  未キャッシュの状態と比べるとサーバ内での処理が数倍速くなるようです。
 ・MODxは素のままだと1ページ修正しただけでもキャッシュがクリアされてしまいます(私はプログラムを改造して自動クリアをオフにしてます)。
  また、エクスポートはサーバに負荷が掛かりますので、共用サーバでは同居者に迷惑が掛からないよう区切りのよいところで行ってください。
]]>
https://forums.modx.com/thread/56368/#dis-post-330803 Thu, 25 Dec 2008 07:55:35 +0000 https://forums.modx.com/thread/56368/#dis-post-330803
<![CDATA[(質問)【DBAPI】の日本語解説]]> https://forums.modx.com/thread/56367/dbapi?page=2#dis-post-330802 現在MODxを勉強中の初心者のBR_TOKYOと申します!

スニペット内でDBAPIを利用して『データベースのテーブルからデータを抽出』したいのですが、
利用方法についての日本語解説等はありますでしょうか??


具体的にやりたい内容は「各ページ毎にページタイトルを元にデータ抽出」ということがしたいのですが、
php、SQLなどあまり詳しくないため難航しています。。


当初『スニペット』にSQL文を下記のようなイメージで抽出できたらなぁと思ってました。。
select * from テーブル名 where ○○ = ’[*pagetitle*]’"

『データグリッド』の利用も試してみたのですが、
やはり「ページタイトルを元にデータ抽出」といったところが分かりませんでした。。。

php、SQLを扱うにしては、非常に未熟なご質問なのかも知れませんが、
よろしくお願いいたします。。m(_ _;)m]]>
https://forums.modx.com/thread/56367/dbapi?page=2#dis-post-330802 Sun, 14 Dec 2008 09:50:44 +0000 https://forums.modx.com/thread/56367/dbapi?page=2#dis-post-330802
<![CDATA[PHx notags 改良版]]> https://forums.modx.com/thread/56366/phx-notags#dis-post-330787 今回は、自分でやっていて、使えそうな改造を見つけたので報告です。

すでになにかの形でできることかもしれませんが。。。

これは、PHxのlimitを使う際に、呼び込むドキュメントに配置されている画像もとりこみたい、と思っていてできました。
notagsを使わないと、divなどの余計なhtmlタグを読み込んでしまい、コール側のレイアウトが崩れてしまいます。
なんとかimgタグだけを残し、あとはnotagsで、ということを実現できました。
これで、トップページなどで記事の一部を画像付きで表示することが可能になりました。

改造は、/assets/plugins/phx/phx.parser.class.inc.phpの250行目の
					case "notags": $output = strip_tags($output); break;


					case "notags":
					  $notags = $modifier_value[$i];
						$output = strip_tags($output,$notags);
						break;

に変えます。
そして、PHxは、例えば、
[+content:notags=`<font><img>`:limit=`500`+]

とします。すると、contentで、<font>と<img>を除くhtmlタグが除去されたものが出力されます。

phpのstrip_tagsのオプションを利用したものです。

他の方法、あるいはさらにブラッシュアップ出来れば、ご教授下さい。

]]>
https://forums.modx.com/thread/56366/phx-notags#dis-post-330787 Sun, 31 Aug 2008 01:46:52 +0000 https://forums.modx.com/thread/56366/phx-notags#dis-post-330787
<![CDATA[その他 - MODx DevKit Dreamweaver Extension (Dreamweaver編集支援)]]> https://forums.modx.com/thread/56355/modx-devkit-dreamweaver-extension-dreamweaver#dis-post-330769



http://modxcms.com/forums/index.php/topic,621.0.html

MODxのテンプレートをDreamweaverで作る場合、これを使うと少しラクができるかも?

オマケ情報
http://kyms.ne.jp/item/132
http://modxcms.com/forums/index.php/topic,4281.msg35948.html#msg35948
http://modxcms.com/forums/index.php/topic,4281.msg41327.html#msg41327
Dreamweaverで作ったhtmlファイルなどをそのままMODxでインクルードして
テンプレートとして利用する方法。Dreamweaverで作ったコードをコピペで貼り付ける
とかではなく、作ったhtmlファイルがそのまま使えます。基本デザインはDreamweaverで、
コンテンツの更新はMODxで、という使い分けができます。
(GoLiveやホームページビルダーでも同じです)
(2番目の方法のほうがスマートかも)

Dreamweaverのサイト設定を「保存時に自動的にファイルをアップロード」にしておくと、
ctrl+s(上書き保存)で直ちにデザイン変更を反映できます。これは便利。

●MODx初心者なデザイナーさん向けの参考情報。
MODxのテンプレートをDreamweaverで作るには、まず何を覚える必要があるの?とりあえず簡単です。本文にあたる部分に[*content*]とだけ書いて、他は普通にデザインしてください。htmlコードができあがったら、それをMODxのテンプレートとしてまるごと貼り付けるだけです。[*content*]のようなMODxタグは他にもいくつかあるし、スニペットやチャンクも使いこなすと便利ですが、そのへんは必要に応じて書き足していくといいのではないかと思います。]]>
https://forums.modx.com/thread/56355/modx-devkit-dreamweaver-extension-dreamweaver#dis-post-330769 Mon, 16 Jul 2007 03:42:45 +0000 https://forums.modx.com/thread/56355/modx-devkit-dreamweaver-extension-dreamweaver#dis-post-330769
<![CDATA[maxigalleryが上手く動作しない]]> https://forums.modx.com/thread/56364/maxigallery#dis-post-330783 借りているXREAのサーバーですとPHPのsafeモードをOFFにできないためのエラーでしょうか?

« MODx Parse Error »
MODx encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »

PHP error debug
Error: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10753 is not allowed to access /virtual/ukulele/public_html/modx/assets/galleries/2 owned by uid 1000
Error type/ Nr.: Warning - 2
File: /virtual/ukulele/public_html/modx/manager/includes/document.parser.class.inc.php(748) : eval()’d code
Line: 385
]]>
https://forums.modx.com/thread/56364/maxigallery#dis-post-330783 Sat, 17 Mar 2007 08:52:11 +0000 https://forums.modx.com/thread/56364/maxigallery#dis-post-330783
<![CDATA[(解決しました)[*contents*]内でのTV、チャンクなどの表記について]]> https://forums.modx.com/thread/56363/contents-tv#dis-post-330781
[*contents*]の入力フィールド内(要するにデフォルトで現れる入力欄内)で、例えばチャンク{{○○○}}とかスニペット[[○○○]]などの表記をしたい場合、どうすればよいでしょうか?

確か<!-->などのコメント属性を入れると良い、と書いていた気がするのですが、思い出せず・・・。

よろしくお願いします。]]>
https://forums.modx.com/thread/56363/contents-tv#dis-post-330781 Wed, 09 Aug 2006 01:46:29 +0000 https://forums.modx.com/thread/56363/contents-tv#dis-post-330781
<![CDATA[スニペット - NewsParserX(外部サイトのRSSフィードをページ上にニュース表示)]]> https://forums.modx.com/thread/56362/newsparserx-rss#dis-post-330779 http://modxcms.com/NewsParserX-601.html

外部サイトのRSSフィードをページ上に出力するスニペット。
基本的な使い方は簡単で、
[[NewsParserX? &url=`http://********.com/rssfeed.xml`]]

と書くだけです。

しかしURL中に「?」「=」「&」を含む場合は書き方が少し変わります。
これはどこにも説明が書いてないのですが、以下のようになります。

「?」→ |xq| に。
「=」→ |xe|に。
「&」→ |xa|に。

たとえば
[[NewsParserX? &url=`http://*****.com/index.php?feed=rss&limit=10`]]

上記のようなURLのRSSフィードであれば、
[[NewsParserX? &url=`http://*****.com/index.php|xq|feed|xe|rss|xa|limit|xe|10`]]

このように書き換えます。
]]>
https://forums.modx.com/thread/56362/newsparserx-rss#dis-post-330779 Tue, 18 Jul 2006 08:52:45 +0000 https://forums.modx.com/thread/56362/newsparserx-rss#dis-post-330779
<![CDATA[モジュール - Easy Peasy Gallery 2 (管理画面付きの画像ギャラリー)]]> https://forums.modx.com/thread/56341/easy-peasy-gallery-2#dis-post-330751
http://modxcms.com/forums/index.php/topic,1895.0.html
配布トピ

http://www.1km.info/modx_site/plugins_snippets/easy_peasy_gallery_2.html
解説サイト(1km.infoさん)

http://www.etomite.org/forums/index.php?showtopic=2939
もともとはEtomiteのスニペットをモジュール化したもの。
上記Etomiteフォーラムのトピのイメージも参考になると思います。

うまくいかずハマっている人がいそうなので書いておきます。
僕の場合、xrea・さくら・ロリポップで試してみて同じエラーが表示されました。

http://modxcms.com/forums/index.php/topic,1895.msg19991.html#msg19991
その場合は、install/module.epg2を上記のものと差し替えてから再インストール。
エラーが出てなくても差し替えておいたほうがいいみたい。

※「Sort By ナントカ」「View ナントカ」ってナニでしょね?

http://modxcms.com/forums/index.php/topic,3966.0.html
こちらの「MaxiGallery」も参考に。よく試してませんが、見た目はこちらのほうがよさげです。
モジュール化されていないので、管理のしやすさはどうか分かりませんが。
※スニペットやプラグインと違い、モジュールは管理用のインターフェイスを自由に実装できます。]]>
https://forums.modx.com/thread/56341/easy-peasy-gallery-2#dis-post-330751 Sat, 08 Jul 2006 12:01:49 +0000 https://forums.modx.com/thread/56341/easy-peasy-gallery-2#dis-post-330751
<![CDATA[コア書き換え - Code Highlighting(コードを見やすく色分け)]]> https://forums.modx.com/thread/56361/code-highlighting#dis-post-330775
http://modxcms.com/Manager-Code-Highlighter-672.html (最新版のダウンロードはこちらから)
http://modxcms.com/forums/index.php/topic,5629.0.html

インストールは簡単。ダウンロードして解凍したら、フォルダごとアップロードするだけ。

●導入前


●導入後
]]>
https://forums.modx.com/thread/56361/code-highlighting#dis-post-330775 Fri, 07 Jul 2006 08:10:19 +0000 https://forums.modx.com/thread/56361/code-highlighting#dis-post-330775