バージョン選択

フォーラム

メニュー

オンライン状況

73 人のユーザが現在オンラインです。 (60 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 73
もっと...

サイト内検索

プラグイン > 開発について > 【2.12.5】SC_Helper_Transformのselectについて

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
casa
投稿日時: 2013/7/13 18:05
対応状況: −−−
長老
登録日: 2011/10/3
居住地:
投稿: 210
【2.12.5】SC_Helper_Transformのselectについて
いつもお世話になります。

現在管理画面用の機能追加をプラグインとして開発しているのですが、掲題のSC_Helper_Transformのselectの挙動について質問させてください。
※開発環境のEC-CUBEのバージョンは2.12.5です。

以下のように、selectにはインデックスを指定することも出来るようになっています。

SC_Helper_Transform::select
    /**
     * jQueryライクなセレクタを用いてエレメントを選択する
     *
     * @param string  $selector      セレクタ
     * @param integer $index         インデックス(指定がある場合)
     * @param boolean $require       エレメントが見つからなかった場合、エラーとするか
     * @param string  $err_msg       エラーメッセージ
     * @return SC_Helper_Transformオブジェクト
     */
    public function select($selector, $index = NULL, $require = true, $err_msg = NULL) {
    ...


対象が複数あってインデックスを指定しない場合には、最初の要素だけが返されるようなのですが、これはそういう仕様でしたでしょうか。

例として、以下の2つはどちらも最初の要素1つだけが削除されます。
    function prefilterTransform(&$source, LC_Page_Ex $objPage, $filename) {
        ...
        $objTransform = new SC_Helper_Transform_Ex($source);
        $objTransform->select('table.list > col')->removeElement(); // ★1.インデックス指定なし
        $objTransform->select('table.list > col', 0)->removeElement(); // ★2.インデックス指定あり


対象の要素を全部削除する場合のテクニックなどありましたら、ご教授頂けますと幸いです。
# jQueryで対処しようかと検討していましたが、selectの利用方法に誤りがあるかもしれないと思い質問させて頂きました。
shutta
投稿日時: 2013/7/19 22:21
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: 【2.12.5】SC_Helper_Transformのselectについて
selectメソッドのコードを見ると、


// インデックスが指定されていない(見つけたエレメント全て)、もしくは指定されたインデックスなら選択する
if (is_null($index) || $cur_idx == $index) {
    $this->lfAddElement($iLoop, $this->arrElementTree[$iLoop]);
}


となっているので、このコメントを見る限りでは、インデックスを指定しない場合は、対象が全て返ることを意図しているのではないでしょうか?

実際に動作を詳細に検証したわけではないですが、ざっとコードを読んでみたところ、気になるコメントがあったので、上記参考になればと思い投稿してみました。


----------------

リゾート会員権(エクシブ等)の売買・仲介

casa
投稿日時: 2013/7/22 20:14
対応状況: 解決済
長老
登録日: 2011/10/3
居住地:
投稿: 210
Re: 【2.12.5】SC_Helper_Transformのselectについて
ご返信ありがとうございます。

深く追えておりませんが、対象が同じ名前の要素だったときには、lfAddElementで追加されないようです。

今回はプラグイン開発のみで、本体側には手を入れない前提でしたので、自前でタグを探すようにして対応したいと思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,856名です
総投稿数は109,989件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.