Zen Cart 管理画面のプルダウンメニューを追加

Zen Cart

Zen Cart 管理画面のプルダウンメニューを追加する

Zen Cartの管理画面のヘッドナビゲーションにプルダウンメニューを追加する方法です。

まず

 /admin/includes/boxes/extra_boxes/***_customers_dhtml.php

などの名前で、ファイルをextra_boxesの中に保存します。

  • 最後がdhtml.phpで終わるようにしてください。
  • 例のように、ファイル名の、アンダースコア(_)で区切られた最後の文字がcustomersだと「顧客・注文の管理」からのプルダウンになります。
  • ***_catalog_dhtml.phpだと、商品の管理からのプルダウンになる、という仕組みです。

リンクさせたいテキストとリンク先を次のように記載して終わりです。

 $za_contents[] = array(
           'text' => 'リンク名', 
           'link' => zen_href_link('リンク先ファイル名', '', 'NONSSL'));

Zen Cart 新モジュールを作る

Zen Cart

Zen Cartで新モジュール(新機能)を作る

Zen Cartでは、豊富な機能があり、またプラグインなどでモジュールもいろいろありますが、それでも足りない場合があります。
そういう時は、新しいモジュールを作ってしまいましょう。
(HTML、PHPやデータベースの知識が必要です。)

たとえば、Zen Cartにはユーザー情報登録の確認画面がありません。
それを、user_confirmという名前のモジュールにするとしましょう。
以下、手順です。

  1. \includes\modules\pages\に user_confirmという名前のディレクトリを作る
  2. 中身のheader_php.phpなどがこの機能で最初に出力する機能なので、目的に応じて書き換えます。
  3. \includes\modulesにuser_confirm.phpというファイルを作ります。これが機能自体のプログラムになりますので、目的に応じて書き換えます。
  4. \includes\templates\テンプレート名\templatesにtpl_user_confirm_default.php というファイルを作ります。これがテンプレートファイルになります。もちろん、目的に応じて書き換えます。
  5. index.php?main_page=user_confirm とアクセスすれば、このモジュールにアクセスできます。

adbd cannot run as root in production builds

adb server is out of date. killingと毎回表示される

adbd cannot run as root in production builds

先に謝っておきますが、これはできなかった、という話です。
Android ADBを利用する
のように、ADBを利用できますが、Root権限がないと、肝心のディレクトリが閲覧できなかったりします。
で、マニュアルにある通り

 adb root

とやってみますが、

 adbd cannot run as root in production builds

というメッセージが出て、次に進まないんですよね。

 adb shell
 $su

とやってみても、
permission denied
といわれてしまうだけです。
http://www.karak.jp/blog/xperia-active-root-font.html
などにあったように、してみても、そもそも一度もルートになれていないので、

 mount:Operation not permitted

となってしまうだけです。

機種はHTC ariaです。
うーん、よいお知恵を貸して下さる方がいれば、ぜひお願いします。

やりたかったことはと言えば、とにかく

 INSTALL_FAILED_INSUFFICIENT_STORAGE error

に苦しんでおりまして、それを解決すべく、下記にある解決方法を試してみたかっただけなんですが。

http://stackoverflow.com/questions/4709137/solution-android-install-failed-insufficient-storage-error

android.widget.LinearLayout cannot be cast to android.widget.Button

Android

android.widget.LinearLayout cannot be cast to android.widget.Button

レイアウトのxmlファイルも、Acivityでも、ButtonをLinearLayoutなどにキャストしていないのに、なぜか上記のようなエラーが出ました…。
??と思い検索すると

http://stackoverflow.com/questions/11792109/linearlayout-cannot-be-cast-to-android-widget-button

にて、Clean→Buildしたらなおるよ~

と。

本当に治りました。

どっかでそんなキャストしてるのかな?と調べた時間がなんと無駄なことか…orz

本当に、ADTのバカ~[sad]

「バカバカバカバカっ。」
「そんなに怒るなよ…今度、オマエが行きたがってたレストランに連れて行ってやるからヨ」

という本宮ひろ志のマンガに出てくる女泣かせの主人公的なキャラのADTでも妄想して怒りをしずめたいと思います。

application/octet-stream

Android

application/octet-stream

画像のアップロードフォームで、ファイルタイプがapplication/octet-streamで、画像として認識できずアップロードできない、という問題がありました。
ファイル自体の拡張子は、jpgとなっているのにも関わらずです。

application/octet-streamとは何かというと、

意味:
application/octet-streamとはContent-Type?ヘッダにおいてバイナリ形式である場合に指定されるサブタイプのこと。

アプリケーションが何か判断できないとき、またはそのアプリケーション独自のファイル・タイプ?であるため判別できない場合も使われる。

だ、そうです。

出典:
http://www23.atwiki.jp/sevenlives/pages/137.html

で、これはどこで遭遇したかというと、Experiaでブラウザから画像ファイルを投稿する時にこれになっちゃってたんですね。
アプリで撮った写真だからでしょうか?!

プログラムの色々なところを、ファイルタイプを見るのではなくて拡張子を見るように変更して解決しました。