LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Forum

ブラウザ判定の変数を設定して、if文で切り分けたいのですが。

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - | 投稿日時 2014/8/26 0:15
hasuo  2nd Class   投稿数: 29
heiji さん、早速のご対応ありがとうございます。


> 試しに、改行を含まない記事本文で投稿して確認してみてください。

おおー、改行を含まない記事本文で投稿したところ、表示されるようになりました。

<{$photo.sdescription}>がうまく行く理由はちょっと確認出来ませんが、これはおそらく<{$photo.sdescription}> の中身を <{$photo.description}> の先頭文字列から数十文字列ピックアップで Gnavi が自動作成する時に、改行は削除されているのでしょう。


私が望んでいる記事本文は、小説、です。$photo.description 変数の中身は小説全文なので、うーむ…どうしても改行は入れられる方がいいですね。それにシングルコーテーションも入れられる方が望ましいです。
会員の方たちに小説を投稿してもらう時には、なるべくシンプルに投稿できる方がいいですよね。

Gnavi をハックする事で、改行やシングルコーテーションを含む<{$photo.description}>が表示できるようになるのならば、そのハックの方法を教えて頂きたいのですが、ご指導をお願いいたします。
お手数でしたらヒントだけでも宜しくお願いいたします。そこから自分なりに手探りして頑張ってみます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014/8/26 0:39
hasuo  2nd Class   投稿数: 29
heiji さんへ。

ありがとうございます。うまく行きました。

レスがすれ違いになってしまいましたが、Gnavi のハックまで直ぐに教えて頂き、感謝しております!ローカル側で簡易的にですが確認したらころ、上手く行きました!

これで if文を利用して、ブラウザのケース By ケースに対する調整を少しづつでも進める事が出来そうです。

ありがとうございます。今後とも宜しくお願いいたします。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/8/28 23:34
hasuo  2nd Class   投稿数: 29
heiji さん、お世話になっています。

申し訳ありません、追加でご質問です。

教えて頂いた hdescription なのですが、スクリプトは有効になったのですが、「記事本文」内の改行が、もともと一つのところに二つ入ってしまう(二つ分改行されて表示される)ようになってしまいました。

直ぐに気が付かずに申し訳ありませんでしたが、自分なりに description とのコードの違いを考慮しながら調整を試みたのですが、やはり上手く行きません。

申し訳ありませんが、改行が一つの所を、一つ分の表示になるようにするにはどうすれば良いのが、お教え願います。
宜しくお願いいたします。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/8/30 1:24
heiji  Ensign 居住地: ☆☆☆  投稿数: 251
hasuoさん

> 記事本文」内の改行が、もともと一つのところに二つ入ってしまう(二つ分改行されて表示される)ようになってしまいました。

う~ん、サイトを見るに、ご自分で各行の最後に<br />タグをつけて記事を投稿されていますか?

私の修正だと、記事を投稿する際、改行して投稿するだけで、<br />はいらなくなります(表示するときに自動で<br />をつけます)。

今から投稿記事の<br />を削って投稿し直すのも手間でしょうから、
'hdescription' => str_replace("<br /><br />", "<br />", str_replace("'", "\'", $myts->displayTarea( $description , $arrow_html , 1 , 1 , 1 , 1 , 1 ))) ,

にすると、簡易的にですが、2重改行は直ると思います。

でも、行の最後に<br /><br />と2つつけて投稿していると、それまで1つの改行になってしまいますが。


お教えしておいて何ですが、JavaScriptとSmartyの合わせ技で無理やり実現しようとしているので、なんか美しくないです。

そのうち、ハックなり、できればpreloadなりで実現するのを作ってみようかとも思いますが、その前に、XOOPS関連のサイトを立ち上げてみようかなと思っていたりしているので(もろもろ輻輳していてまだXOOPSXをインストールしただけで何もしていない・・・)、そのうち気が向いたらということで。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/8/31 0:19
hasuo  2nd Class   投稿数: 29
おおー、heiji さん!

一度、話しが収束したトピックなのでご返事を頂けるか、不安でしたが、ご対応、ありがとうございます。思い切って投稿してよかったです。

まずは新たに教えて頂いた下記のコードで、改行二つ表示から一つ表示に修正されました。
'hdescription' => str_replace("<br /><br />", "<br />", str_replace("'", "\'", $myts->displayTarea( $description , $arrow_html , 1 , 1 , 1 , 1 , 1 ))) ,
ありがとうございます。

ところで、ご指摘の通り、なぜか私自身が投稿した「記事本文」(小説)に、<br />が二つ入ってしまっていますね。
お恥ずかしい話、ご指摘頂いて初めて知りました。確認方法としましては、IE の F12 キーの開発者ツール を起動して分かった事です。
こうして見ると、不特定多数の方に投稿して頂く時に、その投稿方法もいろいろと工夫する必要が出てきそうですね。
どうして改行が二つ入るのかは不明ですが、私が投稿した方法は、ワードで書いた文章をコピーアンドペーストしたものです。また、Gnavi の「記事本文」投稿エディタは CKEditor 4 モジュールを導入してある状態の xoopsdhtml を設定使用しています。
でも、投稿方法は、今は別問題のような気がしております。

問題は、ご指摘頂いた
>JavaScriptとSmartyの合わせ技で無理やり実現しようとしているので、なんか美しくないです。
と言うところですね。おっしゃる通りですね。
個人的に「小説を表示するのだから…」と言う気持ちがあって、いままで縦書き表示に固執して来ました。が、いろいろなサイトを見てみると、縦書き表示はオプションであるのが殆どです。縦書き表示をメイン表示とするのは無理があるのかもしれません。

と言う事で、考え方の方向転換が必要なのかも知れません。

いろいろとご指導頂きありがとうございます。私のしたい事を上手く伝えていないにも関わらず、いろいろとアドバイスをありがとうございます。気持ちを切り替えて、今一度考え直して見ます。'hdescription'のコードを教えて頂き感謝しております。
今後とも宜しくお願いいたします。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/8/31 10:33
heiji  Ensign 居住地: ☆☆☆  投稿数: 251
hasuoさん

こんにちは。

> ご指摘の通り、なぜか私自身が投稿した「記事本文」(小説)に、<br />が二つ入ってしまっていますね。

いや、そういう指摘ではありません。
私が確認した限り、<br />の2つ連続は見当たらなかったので、そういうのは救えないよと制約にしたうえで、コードをお教えしました。

<br />タグをご自分で入力されていたわけではないのですね。
<p>タグとかがあったのでhtmlを直打ちされているのかと思いましたが、「CKEditor 4 モジュールを導入してある状態の xoopsdhtml 」で、「ワードで書いた文章をコピーアンドペースト」ですか。
使ったことなかったのでCKEditor4をインストールしてみましたが、文書の貼り付けでも、「貼り付け」「プレーンテキストから貼り付け「ワード文章から貼り付け」といろいろあるんですね。この辺りが関係していそうです。

> 縦書き表示に固執して来ました。

それはそれでよろしいのではないですか?

tableタグを使って、原稿用紙風にするのも面白いかもしれません。
でも、禁則処理(「句読点は行頭には持ってこれず、原稿用紙の枠からはみ出して書く」とか)まで考えると難しそうではありますが。


でも、私が言いたかったは上記のことではなく、ハックなりpreloadなりで、ブラウザ判定用のSmarty変数を作ってしまえば、テンプレートでは、JavaScriptを使わずにSmartyだけでブラウザ毎の切り分けが記述できるので、JavaScriptを使うための、シングルコーテーションがどうのこうのとか、改行がどうのこうのとかいう問題から解放される・・・ということです。
一方で、JavaScriptを使うことのメリットもあるので、JavaScriptとSmartyの組み合わせの今の方向性が必ずしも100%間違えているということではありません。

本当は、どのブラウザでも表示できるHTMLで記述できればそれが一番いいんでしょうけれどね。

縦書きに関しては、私よりhasuoさんのほうがノウハウをお持ちでしょうから、うまくいったら是非教えていただきたいです。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014/8/31 11:30
hasuo  2nd Class   投稿数: 29
heiji さん。

ご返事ありがとうございます。
・「CKEditor 4 モジュールを導入してある状態の xoopsdhtml 」で、「ワードで書いた文章をコピーアンドペースト」
上記の情報をお伝えするタイミングが、今まで作れずにすみません。投稿用エディタに付いては検証してなかったので、関連がありそうだと言う予想が、付きませんでした。

引用:

> ご指摘の通り、なぜか私自身が投稿した「記事本文」(小説)に、<br />が二つ入ってしまっていますね。

いや、そういう指摘ではありません。
私が確認した限り、<br />の2つ連続は見当たらなかったので、そういうのは救えないよと制約にしたうえで、コードをお教えしました。
そうでしたか… 

引用:

<br />タグをご自分で入力されていたわけではないのですね。
<p>タグとかがあったのでhtmlを直打ちされているのかと思いましたが、「CKEditor 4 モジュールを導入してある状態の xoopsdhtml 」で、「ワードで書いた文章をコピーアンドペースト」ですか。
使ったことなかったのでCKEditor4をインストールしてみましたが、文書の貼り付けでも、「貼り付け」「プレーンテキストから貼り付け「ワード文章から貼り付け」といろいろあるんですね。この辺りが関係していそうです。
お手数をお掛けいたしました。
投稿エディタに付いては、これからいろいろと検証してみるつもりです。またピンポイントで疑問点が出てきた時にご質問させて頂きますね。

引用:

> 縦書き表示に固執して来ました。

それはそれでよろしいのではないですか?
おおー、ありがとうございますぅ。

引用:

tableタグを使って、原稿用紙風にするのも面白いかもしれません。
でも、禁則処理(「句読点は行頭には持ってこれず、原稿用紙の枠からはみ出して書く」とか)まで考えると難しそうではありますが。
そうですね、難しそうです。

引用:

でも、私が言いたかったは上記のことではなく、ハックなりpreloadなりで、ブラウザ判定用のSmarty変数を作ってしまえば、テンプレートでは、JavaScriptを使わずにSmartyだけでブラウザ毎の切り分けが記述できるので、JavaScriptを使うための、シングルコーテーションがどうのこうのとか、改行がどうのこうのとかいう問題から解放される・・・ということです。
一方で、JavaScriptを使うことのメリットもあるので、JavaScriptとSmartyの組み合わせの今の方向性が必ずしも100%間違えているということではありません。

本当は、どのブラウザでも表示できるHTMLで記述できればそれが一番いいんでしょうけれどね。
なるほど、ブラウザ判定用のSmarty変数ですね?この変数があれば本当に嬉しいですね。将来に期待しております。

引用:

縦書きに関しては、私よりhasuoさんのほうがノウハウをお持ちでしょうから、うまくいったら是非教えていただきたいです。
あははは…  ありがとうございます。これからもコツコツと縦書き表示に取り組んで行きます。
応援ありがとうございます。

ではでは、また何かありましたらご質問させて頂きます。
今後とも宜しくお願いいたしますね~。
投票数:0 平均点:0.00
  条件検索へ

Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities