にゃあ

ATOK 月額制の解約方法

Windows付属のIMEがいやでいやでATOK(月額制)を使っていました。しかし、ATOKの必要性がそこまでなくなってきました。というのも、Google日本語入力が出てからすっかりATOKを使わなくなってきたのです。なので、ATOKを使わなのに毎月315円を払うのも勿体無い。そう思い、ATOK月額制を解約してきました。ということで、ATOK解約方法を画像を交えて説明したいと思います。

  • www.justmyshop.comにアクセスして、ログインします。

  • 「お客さまカウンター」を開きます。

  • 「定額利用サービス」の「契約内容の確認・解約」を開きます。

  • 内容を確認して「解約する」をクリックします。/p>

  • さらに、「解約する(解約の受付)」をクリックします。

  • 解約完了画面が出ます。以上です。

ATOKさん、お世話になりました。いままでありがとう。Googleさんは、アップデートもいちいち出たりしないで良い人です^-^。


jQueryの世界で最も単純なプラグインの作り方サンプル

jQueryは要素セレクターやクロスブラウザ対応が優れたjavascriptのライブラリで、prototype.jsと並んで広く使われています。そのjQueryでは、独自に自前の関数をプラグインという形で作ることができます。jQueryプラグインの作り方は検索すれば山ほど出てきますが、その第一歩となるプラグインの基本的な書き方が見つからなかったので記事にしておこうと思います。

次のプラグインは、単に文字色を赤くするだけのものです。mypluginがプラグイン名です。$(this).css('color', 'red');の部分以外がプラグインの骨組みとなり、この部分だけ差し替えれば、全く別のプラグインを作ることができます。

(function($){
	$.fn.myplugin = function() {
		return this.each(function() {
			$(this).css('color', 'red');
		});
	};
})(jQuery);

このプラグインの動作デモ


XOOPS Cube Legacy Developer's Cheat-sheet 1.2

XOOPS Cube Legacyでの開発に便利なチートシート「XOOPS Cube Legacy Developer's Cheat-sheet」を更新しました。今回追加したのは、smartyの変数などです。1.1では、ライセンスを明確にしていなかったのですが、1.2からはライセンスをクリエイティブコモンズライセンス 表示2.1としたいと思います。ライセンスの許す範囲でお好きにお使い下さい。

日本語版

English version

Creative Commons License
この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。


XOOPS 一般設定しかない管理画面は一般設定に転送する

モジュールを作っていると、管理画面に一般設定しかないというケースがあります。この場合、管理画面のトップ(/admin/index.php)は空白のページになってしまい、なんとも不格好です。見た目もそうですが、操作性をあげるためにも、管理画面のトップが空白の場合は一般設定に転送してあげましょう。

そして下がそのコード。

require "../../../mainfile.php";

$mid = $xoopsModule->mid();

if ( defined('XOOPS_CUBE_LEGACY') )
{
	$url = sprintf('%s/modules/legacy/admin/index.php?action=PreferenceEdit&confmod_id=%u', XOOPS_URL, $mid);
}
else
{
	$url = sprintf('%s/modules/system/admin.php?fct=preferences&op=showmod&mod=%u', XOOPS_URL, $mid);
}

header('Location: '.$url);

XOOPS Cube + preload でカスタムブロックを作成する方法

カスタムブロックは、通常legacyモジュールやaltsysで作ることができます。ここでは、プリロードでカスタムブロックを作ることを紹介します。

その前に、ここで紹介するTipsは、管理画面でカスタムブロックを作るより、はるかに回りくどくPHPの知識が必要な点を注意しておきます。なので、特殊な機能や要件を必要としない限り、カスタムブロックは管理画面で作るべきです。

まず、XOOPS Cubeのプリロードでカスタムブロックを作るメリットはいくつかあります。

  • ファイルとして配布できる
  • ファイルなので、不要になれば削除するだけ
  • PHPなどの複雑なロジックが書きやすい(通常のカスタムブロックでもPHPは使えます)

特にこの中でも、ファイルとして扱えるメリットは大きいです。たとえば、開発環境で一定の変数を出力したりとデバッグ用途にブロックをプリロードで実装します。あとは、公開するときにプリロードを削除するだけで、データベースを汚したりすることは一切ありません。管理画面で操作するブロックだと、ついつい消し忘れ・消し損ないなんてこともありますが、プリロードだとファイルを確実に削除すれば、消し損なうこともありません。

ダウンロード

次に、プリロードのソースを紹介します。16行目の$indexが、ブロックを表示する位置になります。l, r, cl, cc, crの順に、左・右・中央左・中央中・中央右を意味します。

18行目から22行目はブロックの表示に関する設定です。nameはブロック名で、アルファベット英数ですきな名前を指定します。titleはブロックの題目で、ブロックの上部に表示されます。contentはブロックの内容で、HTMLなどで書くことができます。weightはブロックの並び順で、数値が小さいほど上に、数値が多きほど下にブロックが表示されます。

<?php
/**
 * A simple description for this script
 *
 * PHP Version 5.2.4 or Upper version
 *
 * @package    PreloadBlock
 * @author     Hidehito NOZAWA aka Suin <http://suin.asia/>
 * @copyright  2009 Hidehito NOZAWA
 * @license    http://www.gnu.org/licenses/gpl-2.0.html GNU GPL v2.0
 *
 */

class PreloadBlock extends XCube_ActionFilter
{
	protected $index = 'l';
	protected $block = array(
		'id'      => -1,
		'name'    => 'preload_block',
		'title'   => 'プリロードブロック',
		'content' => '<i>ブロックの内容</i>',
		'weight'  => -1, // 並び順
	);
	protected $indexes = array(
		'l' => 0,
		'r' => 1,
		'cl' => 3,
		'cr' => 4,
		'cc' => 5
	);
	protected $blocks = array(
		'l' => 'xoops_lblocks',
		'r' => 'xoops_rblocks',
		'cl' => 'xoops_clblocks',
		'cr' => 'xoops_crblocks',
		'cc' => 'xoops_ccblocks'
	);

	public function postFilter()
	{
		if ( $this->mController->_mStrategy->mStatusFlag != LEGACY_CONTROLLER_STATE_PUBLIC )
		{
			return;
		}

		$this->mRoot->mDelegateManager->add('Legacy_RenderSystem.BeginRender', array(&$this, 'beginRender'));
		$this->mRoot->mContext->mAttributes['legacy_BlockShowFlags'][$this->indexes[$this->index]]  = true;
		$this->mRoot->mContext->mAttributes['legacy_BlockContents'][$this->indexes[$this->index]][] = $this->block;
	}

	protected function beginRender(&$tpl)
	{
		if ( !empty($tpl->_tpl_vars['isFileTheme']) )
		{
			uasort($tpl->_tpl_vars[$this->blocks[$this->index]], array(&$this, 'reOrder'));
		}
	}

	protected function reOrder($a, $b)
	{
		if ($a['weight'] == $b['weight'])
		{
			return 0;
		}
		return $a['weight'] > $b['weight'] ? 1 : -1;
	}
}

?>

なお、このプリロードはしゃのさんのnowプリロードを参考にさせていただきました。



このブログの著者

suin
Suinと申します。

サブメニュー

最近気になるモノ!

WindowsからMacに乗り換えて半年ですが、Macは細かいところまで丁寧に作られていて、親切なユーザーインターフェイスが気に入ってます。iMacはMagic Mouseと洗練されたデザインのBluetoothキーボードがついてくるので、お得だなあ、なんて思ってます。私に買ってもいいという方、いたら教えてください 笑。

最近のエントリ

XOOPS Cube Dev Ring

最近のコメント

最近のトラックバック

http://www15.atpages.jp/~classicalstudio/wordpress/?p=50
getcwd()とdirname(__FILE__)は違う結果になるときがある (12/22)
Re:
CSSのtext-align:center;は<div>には通用しない (12/15)
XOOPS専門-株式会社RYUS - d3blog
Shiori 1.02 (12/02)
9deMaio.com - blog
Koins 1.00 (11/11)
インターネット覚え書き「ビボウログ」
CSSのtext-align:center;は<div>には通用しない (09/16)
hinoeuma1966
CSSのtext-align:center;は<div>には通用しない (07/03)
Suin.org
ブログ作ってみた (03/23)
Suin.org
ブログ作ってみた (03/23)