バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > プラグイン > 関連商品を登録している商品ページで<html>タグが出力されない

プラグイン

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
bigwingck
投稿日時: 2015/10/19 17:05
対応状況: −−−
新米
登録日: 2015/10/7
居住地:
投稿: 6
関連商品を登録している商品ページで<html>タグが出力されない
EC-CUBE3.0.3にて関連商品プラグインを使用しております。
商品登録時にうまくプラグインが稼働していないため、不具合対応を行いました。
https://github.com/EC-CUBE/related-product-plugin/commit/fba870fc7712b37e07dc7911ffa3dbe3989f7dc5

ようやく無事に関連商品が登録できたのですが、関連商品を登録している商品ページで
<!doctype html>
<html lang="ja">
</html>
タグが出力されない現象が発生しております。

関連商品を登録していない商品ページでは問題なく出力されます。

同じ現象が起きている方はいらっしゃいますでしょうか?
tacky
投稿日時: 2015/10/19 17:20
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: 関連商品を登録している商品ページで<html>タグが出力されない
同じ現象が起きました。
プラグインのcrawlerでhtml書き換えの際に出力されない様です。

問題点としてコメントアウトの文章が文字化けする事を認識しています。
他にこの事象が原因で問題になっている事はありますでしょうか。

解決方法は下記に書いてありますので、参照してみてください。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=16447&forum=13&post_id=72763#forumpost72763
bigwingck
投稿日時: 2015/10/19 18:45
対応状況: −−−
新米
登録日: 2015/10/7
居住地:
投稿: 6
Re: 関連商品を登録している商品ページで<html>タグが出力されない
tacky様

返信ありがとうございます。
はい、同じ現象です。
タグが出力されないのと、コメントアウトが文字化けしております。

Event.php

$crawler = new Crawler($html);

$crawler = new Crawler();
$crawler->addHtmlContent($html, 'ja');
に置き換えましたところ、<html>は変わらず出力されず、ページ内の日本語が新たに文字化けいたしました。コメントアウトも変わらず文字化けしております。
jaをUTF-8に変えた場合は置き換え前と症状変わらずでした。

一応php.iniは
mbstring.http_input = UTF-8
mbstring.encoding_translation = On
mbstring.internal_encoding = UTF-8
default_charset = UTF-8
という感じで記述しております。
bigwingck
投稿日時: 2015/10/20 14:02
対応状況: −−−
新米
登録日: 2015/10/7
居住地:
投稿: 6
Re: 関連商品を登録している商品ページで<html>タグが出力されない
tacky様

度々申し訳ございません。

新着情報プラグインをインストールしてみたところ、やはり同じ現象となりました。

PHPのバージョンは5.6.13です。
お手数をおかけいたしますが、何かご教授いただけましたら幸いです。
よろしくお願いいたします。
k-yamamura
投稿日時: 2015/10/20 15:05
対応状況: −−−
一人前
登録日: 2015/7/8
居住地:
投稿: 72
Re: 関連商品を登録している商品ページで<html>タグが出力されない
タグが出力されないということですが、
$crawler->html();
を使うとタグが出力されない及び文字化けが発生するようです。

解決策としまして、

public function Hoge(・・・・)
{
・・・・
        $crawler = new Crawler($response->getContent());
        $html = $this->getHtml($crawler);
・・・
}

/**
 * 解析用HTMLを取得
 *
 * @param Crawler $crawler
 * @return string
 */
private function getHtml(Crawler $crawler)
{
    $html = '';
    foreach ($crawler as $domElement) {
        $domElement->ownerDocument->formatOutput = true;
        $html .= $domElement->ownerDocument->saveHTML();
    }
    return html_entity_decode($html, ENT_NOQUOTES, 'UTF-8');
}


というようにgetHtmlを自作してdomElementを1行ずつ取得することで文字化けは直ります。

また、$crawler->filterも同様に文字化けが発生しますので、

$oldElement = $crawler->filter('#main');
$oldHtml = $oldElement->html();
$oldHtml = html_entity_decode($oldHtml, ENT_NOQUOTES, 'UTF-8');

とすることで対応可能です。
bigwingck
投稿日時: 2015/10/20 15:21
対応状況: 解決済
新米
登録日: 2015/10/7
居住地:
投稿: 6
Re: 関連商品を登録している商品ページで<html>タグが出力されない
k-yamamura様

ありがとうございます!
無事に解決いたしました。

本当にありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.