Joomler!.net - Decided on Joomla!

Jboard is Multiple Board!

 

Archives

Blog

Demo

Home » Blog » コピー
0 votes
Written by:Joomler! 10004 hits Thursday, 29 October 2009 07:55

Joomla!の問い合わせページ(コンタクト)では、コピーを自分に送るチェックボックスがあって入力されたメールアドレスに送信した内容のコピーを送るようになっています。

最近スパムが多いのでそれを出来ないようにしました。

元々、チェックボックスは表示しておらず、hiddenフォームで必ずコピーを送信するようにしていました。現在もフォーム上ではそうなっています。だけど、プログラム上でそれを強制的にオフにするようにしました。

考えてみれば、適当なメールアドレスを入力して送信すれば、2カ所(コンタクト先とそのメールアドレス)に同時にスパムを送信できますよね。それは、良くない。

スパムの多い方は、対処されてはどうでしょうか。

 
1 votes
Written by:Joomler! 8690 hits Friday, 24 April 2009 17:47

システムが出力する(例えば記事保存時など)メッセージをオーバーライドできるプラグインです。

インストール方法

  • 管理画面からインストールしてください。

使い方

  • テンプレート側でオーバーライドする
    • /plugins/system/message/tmpl/message.phpをあなたのテンプレートフォルダにコピーしてください。
    • そのコピーしたファイルを好きなように書き換えるだけです。

簡単なプラグインですが、Joomla!1.5を操作していて一様に同じメッセージ表示なので変更できないかと思い作成しました。

通常のサイトなら必要ないでしょうが、一定規模のサイトなら今までコアを編集したりしていたのでは無いでしょうか。

 
0 votes
Written by:Joomler! 16129 hits Friday, 14 November 2008 17:32

言われてみればその通り、関連記事モジュールには表示件数の制限が無いためたくさんヒットしたらそのまま表示されてしまいます。考えてみればこのサイトではそれだと見た目も悪くなるし、少し内容も表示したかったのでオリジナルの関連記事モジュールを作成したことを忘れていました。

とりあえず、表示件数の制限をつけることくらいは簡単なのでHackか、テンプレートでやっちゃえば簡単です。

まずは、Hackなら

$db->setQuery($query);

$db->setQuery($query, 0, 20);

のように、最初(0)から20個の記事というように20の部分に表示最大件数を入れます。自由に設定できるようにしたい場合は、

$db->setQuery($query, 0, intval($params->get('limit', 20)));

のようにし、xmlファイルのパラメータ部に

<param name="limit" type="text" size="3" label="最大件数" description="" />

などと追加すればバックエンドで最大件数が設定できるようになります。

ではテンプレート側でやるには

mod_related_items/tmpl/default.phpとindex.htmlを、使っているテンプレートフォルダ/html/mod_related_itemsにコピーします。そしてコピーしたdefault.phpを編集します。

<?php foreach ($list as $item) :	?>

<?php
$i = 0; 
foreach ($list as $item) :
 	if($i > 20){
 		break;
 	}
 	$i++;
 ?>

のようにすればOKです。

本体をHackする方法だとアップデート時に、忘れていたりしてかなり面倒になってきたりしますので、それを考慮にいれるとテンプレート側で対応する方法を行った方が良いかもしれません。

 
0 votes
Written by:Joomler! 15222 hits Saturday, 08 December 2007 17:13

サイトを運営していると新しいエクステンションをテストしたり、表示を確かめることってありますよね。Joomla!の場合オンライン上で記事を書き、また編集できちゃうので以前のローカルでテストしてということをされていない方もおられるのではないでしょうか。

サイトのローカルコピーを先日再作成したときの手順を書いてみます。

必要なもの

  • FileZilla FTP Client
    これは、いつも使っているFTPクライアントでOKです。なぜFileZillaかは、以前の記事 に書いたように多重接続ができるからです。また、サーバー側でバーチャルシェル機能(サーバー側で圧縮展開できる)などがある場合は、また別です。
  • phpMyAdmin
    データベースをバックアップできればなんでも良い。
  • テキストエディタ
  • ローカルWebサーバ環境
    XAMPPなどで環境を作成してください。

ファイルのコピー

まずは、サーバー上のファイルをすべてローカルWebサーバー上のXAMPPならhtdocs以下の任意のフォルダにコピーします。

XAMPPをインストールしたフォルダ D:\xampp

サーバー上のファイルを入れるフォルダ D:\xampp\htdocs\example
この中にすべてのファイルを入れる。(htdocs直下を使っても良いが、XAMPPのファイルと重複したりするので注意。)

configuration.phpを編集

  • $mosConfig_absolute_path = 'D:/xampp/htdocs/example';
    \マークがスラッシュになっていることに注意してください。
  • $mosConfig_cachepath = 'D:/xampp/htdocs/example/cache';
    \マークがスラッシュになっていることに注意してください。
  • $mosConfig_db = 'あなたのこれから作るローカルデータベース名';
  • $mosConfig_user = 'あなたのローカルDBユーザ名';
  • $mosConfig_password = 'あなたのローカルDBパスワード';

データベースをコピー

phpmyadmin.jpgサーバー上のphpMyAdminを使いエクスポートを選択。
サーバーによって異なりますがデータベースを表示している場合は、テーブルすべてを選択。データベース名を選択できる場合は、該当のデータベース名を選択します。(イメージ参照)

そして以下にチェックをいれます。
(これは、チェックしなくても問題ないですが、失敗したときや個別にテーブルをインポートするときなどに便利です。)

  • DROP TABLE / DROP VIEWを追加
  • IF NOT EXISTS を追加

最後にファイルに保存するにチェックを入れそのまま実行するボタンを押し、ローカルPCのどこかにファイルを保存します。

localhost.sql (ファイル名は、環境により異なりデータベース名だったりします。)

これで、ローカルPCにデータベースのデータがコピーできました。

XAMPPのphpMyAdminを開く

  • http://localhost/phpmyadmin

database_create.jpgデータベースをインポート

サーバー上と同じデータベース名(異なっても構いません。上の「これから作るローカルデータベース名」のこと)でデータベースを作成する。
このとき、照合順序に注意してください。

※そして必ずチェックしてください。上記で作成したローカルPCにコピーしたsqlファイルを開き、下記のような部分が無いかチェックしてください。
(ファイルのはじめに一カ所しかありません。)

  • database_caution.jpgDROP DATABASE `あなたのデータベース名`;
    「あなたのデータベース名」というデータベースがあれば削除します。

  • CREATE DATABASE `あなたのデータベース名`;
    「あなたのデータベース名」というデータベースを作成します。

  • USE あなたのデータベース名;
    「あなたのデータベース名」というデータベースを使用するよう指示します。


DROP DATABASEの行とCREATE DATABASEの行は、削除してください。そしてUSE~の行があれば上で作成したデータベース名を書けば良いのですが、今回は削除しましょう。
※sqlファイルを開くとき文字コードに注意してください。Joomla!の場合大抵UTF-8です。保存するとき異なる文字コードで保存してしまうと壊れます。

作成した空のデータベースをphpMyAdminで表示します。
空なのでテーブルがありませんと表示されています。

database_in.jpg上のメニューから「インポート」をクリック。先ほどのsqlファイルを指定し、実行するボタンを押下。

しばらく待ってインポート完了。


http://localhost/exampleを開く

※MySQLのサーバーとローカルでのバージョン違いなどでエラーが出る場合があります。その時は、そのエラーを見て該当する部分を修正しないといけないこともありますのでご注意ください。

 
0 votes
Written by:Joomler! 9666 hits Saturday, 10 November 2007 17:33

screengra.org.jpgFirefoxにまた、アドオンを追加してしまいました。「Screengrab!」これは、Webページをキャプチャしてくれるアドオンです。

Screengrab!

Screengrab!日本語版

 インストールするとページのコンテキストメニューにメニューが追加されるのとFirefox下部にアイコンが表示されます。アイコンをクリックしてページ/フレーム全体か、表示している部分のみかと、なんと!範囲選択までできます。そのまま保存とコピーと選択できますので軽いエディタを起動しておいてそのまま貼り付けることが可能です。ブログを書いているとWebページのキャプチャって必ず使うときがあると思うのでこれは、絶対お薦めです!

 早速Screengrab!のページをキャプチャしてみました。

 
<<<12>>>
1 / 2

JContentPlus for Joomla!1.5 powered by Joomler!.net

joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.