ども

今回、アフィリエイトのタグ購入完了画面に入れてほしいとの依頼がきまして、
A8.netだったらプラグインがあるじゃん!って感じなんですけど、
残念ながら2.11系にはないんですね。

A8.netから提示されたアフィリエイトタグが、imgタグでいれてほしいとの事でしてね。 

PC・スマホ・モジュール、クレジット決済モジュールとすべて対応させていただいたんですが、
PCとスマホについては難なくといった感じでしたが、

モバイルに魔物が潜んでおりましてですね。
単純にimgタグのsrcに希望の値をゴニョっといれましても、思った通りの値が出力されないのです。

具体的にはですね。
<img src="https://px.a8.net/cgi-binごにょごにょ" width="1" height="1" />
というタグを記述しているにも関わらす、
出力結果は、
<img src="/upload/mobile_image//96854d8hogehoge2f179c5d6df4.gif" width="1" height="1" />
という意味のわからないソースとなっておるではあ~りませんか。

そうなのです。imgタグはモバイルのみ変換されてしまうのです。 
どこで!?
data\class\SC_MobileImage.phpの95行目あたりです。
こちらで変換されたくない画像(というか値)は、変換されない用にしないといけません。

            // HTML中のIMGタグを変換後のファイルパスに置換する
            foreach ($images[1] as $key => $path) {
                $realpath = html_entity_decode($path, ENT_QUOTES);
                $realpath = preg_replace('|^' . ROOT_URLPATH . '|', HTML_REALDIR, $realpath);

// こちらで変換されたくない値がURLに含まれる場合は変換処理させないようにする if (strpos($realpath,'https://px.a8.net/cgi-bin') === false) {  $converted = $imageConverter->execute($realpath); if (isset($converted['outputImageName'])) { $buffer = str_replace($path, MOBILE_IMAGE_URLPATH . '/' . $converted['outputImageName'], $buffer); } else { $buffer = str_replace($images[0][$key], '<!--No image-->', $buffer); } } }
 

 といった感じです。

役にたてたかな?でわでわ