質問 > フロント機能 > 商品説明にテーブルがあると、無用なbrタグが大量に挿入される |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
akiakihi |
投稿日時: 2019/6/10 16:10
対応状況: −−−
|
一人前 登録日: 2014/7/17 居住地: 兵庫県 投稿: 91 |
商品説明にテーブルがあると、無用なbrタグが大量に挿入される ------------------------------------------------
[EC-CUBE] 3.0.17 [レンタルサーバ]さくらインターネット [OS] Windows10 [PHP] PHP Version 7.2.17 [データベース] MySQL 5.7 [ブラウザ] Chrome ------------------------------------------------ お世話になります。 過去ログを検索してもヒットしないということは、商品の説明文中にテーブルを使用する方がほとんどいらっしゃらないということなのかもしれませんが・・・ タイトル通り、商品説明にテーブル構造を入れると、テーブル前に大量のbrタグが挿入されてしまいます。 商品マスター画面上、およびデータベースに保存されているデータにはbrタグが存在していないので、 ブラウザに表示されるまでの間のどこかの過程で挿入されてしまうようです。 商品詳細ページをgoogleのデベロッパーツールで見てみると
となっていて、テーブルの前にbrタグが沢山あるのですが、 htmlソースを見てみましたら
となっていて brタグはテーブル内にあり、テーブルのカラムが多いほど、最終的にテーブル前に挿入されるbrタグも多くなることがわかりました。 (表示が大きくズレます) EC-CUBE2系のときにはこのようなことはなかったので、沢山のデータを3系に持ってきて表示に苦労しています。 試しに、twig末尾に <script> setTimeout(function(){ let d = document.getElementById('item_detail'); d.innerHTML = d.innerHTML.replace(/(\s*<br[\s\/]*>\s*){2,}/ig, '<br />'); },100); </script> と記述することで、連続brは消えましたが、 そうするとカートが機能しなくなってしまいました。 (カートに商品を入れると、アドレス末尾に?がつくだけでカートに商品が入りませんでした) 現在は、cssで.item_comment br{display:none;}とすることで、テーブル前の大量改行はなくなり、表示も落ち着きましたが、 当たり前ですが本文も全て改行なしになってしまいます。 これから登録する新しく商品については、テーブル以外の本文はdivで囲うことで改行なしを回避できますが、既存の商品本文にはcssで改行がないままですので、 もしもこのテーブル前の沢山のbrタグ挿入がどこかの記述で直るようであれば、お教えいただけましたら幸いです。 どうぞよろしくお願いいたします。 |
h_tanaka |
投稿日時: 2019/6/14 15:20
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: 商品説明にテーブルがあると、無用なbrタグが大量に挿入される こちらで解決できます。
改行タグが3回以上繰り返された場合に非表示にしています。
|
akiakihi |
投稿日時: 2019/6/14 17:40
対応状況: 解決済
|
一人前 登録日: 2014/7/17 居住地: 兵庫県 投稿: 91 |
Re: 商品説明にテーブルがあると、無用なbrタグが大量に挿入される そんなCSSの書き方があったんですね!
知りませんでした。 ご返答いただき感謝いたします。 ありがとうございます! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |