2010年1月28日木曜日

 

【Xoops】記事投稿フォーム「submit.php」のJavascriptバリデータ「xoopsFormValidate_uploadphoto()」に要素を追加して必須にする【gNavi】

「GNavi」で、記事投稿のタイトル(title)とメインカテゴリ(cid)のように、フォームが空白だと「alert()」が表示される項目を追加する。
$form->setRequired()にフォームの要素を与えれば良いようだ。
Javascriptを無効にしたら無意味だけど。

/* gnavi/main/submit.php */
$title_text = new XoopsFormText( _MD_GNAV_ITM_TITLE, "title" , 50 , 255 , $myts->makeTboxData4Edit( $photo['title'] ) ) ;$form->addElement( $title_text ) ;
$form->setRequired( $title_text ) ;

このコード部分が以下のように表示される。

/* 「index.php?page=submit」のソース */
  <script type='text/javascript'>
  <!--//
  function xoopsFormValidate_uploadphoto() {
      myform = window.document.uploadphoto;
          if (myform.title.value == "") {
              window.alert("記事を入力してください");
              myform.title.focus();
              return false;
          }return true;
  }
  //-->
  </script>

なので、以下のように追加すると

/* alert追加 */
$form->setRequired( $tel_text ) ;
/* 表示 */
  <script type='text/javascript'>
  <!--//
  function xoopsFormValidate_uploadphoto() {if (myform.tel.value == "") {
              window.alert("電話を入力してください");
              myform.tel.focus();
              return false;
          }return true;
  }
  //-->
  </script>

みたいになるはず。

ラベル:


2010年1月25日月曜日

 

UI(ユーザ・インタフェース)に関する参考文献

ネット上のもの

WebサイトのUI集

書籍

ラベル:


2010年1月19日火曜日

 

【Progression】フォトギャラリーサンプル

Progression 3 に挑戦してみました - web dimension maker
サンプル
ソース無し。完成度高い。
PhotoSlideを作ってみました - flabaka
サンプル
URLRequest」と「CastLoader」を使う。
Progressionを使ったフォトギャラリーのサンプル - Web&MUSICブログ QUALL
サンプル
Progressionの「addSceneFromXML」を使う。
addSceneFromXMLでXMLからシーン作成 - Is It So Easy?
サンプル
addSceneFromXML」で、XMLファイルからシーン構造を作成する。
CastImageLoaderで他サイトの画像を読み込みリサイズできない件 - kanariia.com blog
サンプル
CastImageLoader」を使う。以下を改良。
外部画像データをXMLで読み込んでシーンに貼り付け - kanariia.com blog
CastImageLoader」はリンク先参考。
CastImageLoaderを使ってみる - Is It So Easy?

ラベル:


 

【ActionScript】お絵描きアプリケーションFlash【Flex】

Flash ひっかき絵 - ブログ.武田ソフト.jp
クレヨンとひっかき絵。マスクレイヤー。
第39回 Flashでお絵かきアプリケーションを作ってみよう - ITpro
ベクターベース。Flash 8。
第40回 ビットマップベースのお絵かきアプリを作ってみよう - ITpro
Flash 8。
Flashで筆順再生のflaソース配布します - trick7
描いた通りにリプレイする。『黒板.in』の様に。
Flexでお絵かき(ソース付き) - PHP,MySQL,Flexな日々+イラストとか
ブラシと消しゴムツールのみ。ブラシサイズの変更可能。デモとソース。
ActionScript 3.0でお絵かきアプリ - イクケン
クリックした軌跡が描かれるシンプルなアプリケーション。
Flash中のBitmapをJPG/PNGで保存するには - TECH Matari
描いたものを保存するために。

ラベル: ,


 

【Progression】プリローダーのサンプル

クラススタイル。

プリローダーを作成する - Progression - Framework for Flash
公式サイト。
Progressionのpreloader.flaを使ってみる - blog.seyself.com
ソースとデモ有り。
Progression でなめらかなローダーを作成する。 - futurefish
ローディングバーアニメーション。ソースとデモ
Progressionで丸いローダーを作ってみたよ。 - futurefish
ソースとデモ

ラベル:


2010年1月14日木曜日

 

【Progression】SceneObject、ページなどMyCastSpriteインスタンスからstageを参照する

Progressionでいろいろつまづいた事 - selflash.jp
SceneObject内ではstageの参照はできない。
CastObject内でもAdded以降でしかstageの参照はできない。

中央に配置したい時に困る。
引数として渡せば使える。
自分はFlashDevelopで以下のテンプレートを使っているのでメソッド名など違いに注意。

FlashDevelopの使い方 (16)Flash無しでProgression 4を使用するためのプロジェクトテンプレート - 独学ActionScript
/* IndexScene.as */
    public class IndexScene extends SceneObject 
    {
        public var page:IndexPage;

        /**
         * 新しい IndexScene インスタンスを作成します。
         */
        public function IndexScene() 
        {
            // シーンタイトルを設定します。
            title = "Index - Progression";
            // ContentsScene を作成します。
            var contents:ContentsScene = new ContentsScene(stage);
            contents.name = "contents";
            addScene( contents );
        }}
/* ContentsScene.as */
    public class ContentsScene extends SceneObject 
    {
        public var page:ContentsPage;

        public function ContentsScene(stage:Stage, name:String = null, initObject:Object = null ) 
        {

            // シーンタイトルを設定します。
            title = "Contents - Progression";

            page = new ContentsPage(stage);

        }}

MyCastSpriteインスタンスでも。

/* IndexPage.as */
    public class ContentsPage extends CastSprite 
    {
        private var _stage:Stage;

        public function ContentsPage(stage:Stage, initObject:Object = null ) 
        {
            // 親クラスを初期化します。
            super( initObject );
            _stage = stage;
            var tf:TextField = addChild( new TextField() ) as TextField;
            tf.defaultTextFormat = new TextFormat("Verdana", 18, 0x000000);
            tf.text = "Text";
            tf.autoSize = TextFieldAutoSize.LEFT;
            tf.selectable = false;
            tf.x = ( _stage.stageWidth - tf.width ) / 2;
            tf.y = ( _stage.stageHeight - tf.height ) / 2;
        }
               .…
    }

「Text」と中央に表示される。

_onCastAdded()からなら可能らしい。またはatCastAdded()かな。

実制作でつまづいたとこをQ&A形式でまとめてみた - kanariia.com blog
Q.Castのコンストラクタからステージを参照できない
/* MyCastSpriteインスタンスでstageを参照する */
    …
    protected override function _onCastAdded():void {
        stage.addEventListener( Event.RESIZE, onResizeHandler);
        onResizeHandler(null);
        addCommand(
            // 任意のコマンドを記述してください。
            new Trace(stage.stageWidth);
        );
    }

ラベル:


2010年1月9日土曜日

 

【Xoops】テンプレートの“正しい”カスタマイズ方法

Re: PICOで表示コンテンツのカテゴリーのみコンテンツリスト表示 - Xoops Users Group Japan
「テンプレートをカスタマイズするときには、まずテンプレートセットを複製する」 …なんて、X2以来の誤った手順が書いてあるサイト/書籍ばかりですから。 そんなことをしたら、必要もないテンプレートまで、全部複製されてしまい、以降のアップデートで非常に手間取ることは明らかです。
正しいDBテンプレートカスタマイズ手順はこうです。 ・altsysで空のテンプレートセットを作る ・一般設定で、空のテンプレートセットを「表示されるテンプレートセット」とする ・変更したいテンプレートをaltsysでコピーして、カスタマイズする

ラベル:


 

【PHP】PHP 5.3以降の三項演算子

参考
phpの三項演算子を書いてていつも思っていた事を書きます。 - camelmasaの開発日記
/* PHPの三項演算子の例 */
(($a) ? $a : $b);

この式が以下の様に省略出来る。

/* PHP 5.3 以降の三項演算子の例 */
(($a) ?: $b);
比較演算子 - PHP マニュアル
PHP 5.3 以降では、三項演算子のまんなかの部分をなくすこともできるようになりました。 式 expr1 ?: expr3 の結果は、expr1 が TRUE と同等の場合は expr1、 それ以外の場合は expr3 となります。

ちなみにperlは右結合、phpは左結合なので評価結果が異なったりするので、ネストには注意。

/* 三項演算の評価の違い */
(true?'true':false?'t':'f');
// Perlの結果: 'true'
// PHPの結果:'t'
 ※PHPでの評価順
 ((true ? 'true' : 'false') ? 't' : 'f');
perlとphpで三項演算子の挙動が違う件Comments - A Small, Good Thing - diary

ラベル:


This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]

Google