msg# 1
smartsectionでtell a friendを使いたいのですが、どのファイルを見たらいいのかわかりません。修正箇所が分かれば教えていただけませんか?tell a firendがだめなら他に文字化けしない方法はありませんか?よろしくお願いします。
Votes:16
Average:5.00
msg# 1.1
SmartSectionは使ったことがないのですが、基本的には、メールアドレスへのリンク(mailto:)となっている部分について、テンプレートを書き換えるだけです。
まずは、tplsadminまたはaltsysを使って、どのテンプレートに記述されているかを確認するのが良いでしょう。
Votes:7
Average:10.00
msg# 1.1.1
GIJOEさん、お返事ありがとうございます。カスタマイジングXOOPSのP320に載っている方法を試したいと思って、エディタで全てのテンプレートを検索にかけてみましたが該当箇所は見つかりませんでした・・・。
メールを送るアイコン画像の記述さえテンプレートで見つけられなんですよ。3回見直しましたけどないんです。あるはずなのに・・・。一体どこにあるんだろう??どなたか知っている方いらっしゃったら是非ご教授ください。よろしくお願いします。
Votes:0
Average:0.00
msg# 1.1.1.1
テンプレートをgrepにかけたんですか?
それは変数名が判らないと厳しいですね。
今はCX執筆時と違い、強力なテンプレートツールtplsadmin (altsys)があります。
<div>枠で囲う、とかやれば、一発で該当テンプレート名が判りますよ。
(そのまま編集もできます)
Votes:0
Average:0.00
msg# 1.1.1.1.1
なんと!そんなすばらしいものがあるんですか??
さっそく試してみます!またレポートします。
Votes:7
Average:10.00
msg# 1.1.1.1.1.1
こんにちは。
やっとそれらしき記述が見つかりましたが、テンプレートファイル内ではなく、item.phpというファイル内にありました。いろいろ試してみましたが、どうもうまくいきません。以下の記述をどう変えればtell a friendが使えるようになるのかヒントをくださいませ。よろしくお願いします。
// Email button
$maillink = 'mailto:?subject=' . sprintf(_MD_SSECTION_INTITEM, $xoopsConfig['sitename']) . '&body=' . sprintf(_MD_SSECTION_INTITEMFOUND, $xoopsConfig['sitename']) . ': ' . $this->getItemUrl();
$adminLinks .= "<a href='" . $maillink . "'><img src='" . SMARTSECTION_URL . "images/links/friend.gif' title='" . _MD_SSECTION_MAIL . "' alt='" . _MD_SSECTION_MAIL . "'/></a>";
$adminLinks .= " ";
Votes:0
Average:0.00
msg# 1.1.1.1.1.1.1
Quote:
やっとそれらしき記述が見つかりましたが、テンプレートファイル内ではなく、item.phpというファイル内にありました。いろいろ試してみましたが、どうもうまくいきません。以下の記述をどう変えればtell a friendが使えるようになるのかヒントをくださいませ。よろしくお願いします。
// Email button
$maillink = 'mailto:?subject=' . sprintf(_MD_SSECTION_INTITEM, $xoopsConfig['sitename']) . '&body=' . sprintf(_MD_SSECTION_INTITEMFOUND, $xoopsConfig['sitename']) . ': ' . $this->getItemUrl();
$adminLinks .= "<a href='" . $maillink . "'><img src='" . SMARTSECTION_URL . "images/links/friend.gif' title='" . _MD_SSECTION_MAIL . "' alt='" . _MD_SSECTION_MAIL . "'/></a>";
$adminLinks .= " ";
この$maillinkはアサインされていないのでしょうか?
前後のコードは判りませんが、$adminLinks だけがアサインされているとしたら、xoops_tellafriend modifierをかけても、変なURLを引っ張ってきそうな雰囲気ですね。
残念ながらHackしかないかもしれません。
こんな感じかな?
$maillink = 'mailto:?subject=' . sprintf(_MD_SSECTION_INTITEM, $xoopsConfig['sitename']) . '&body=' . sprintf(_MD_SSECTION_INTITEMFOUND, $xoopsConfig['sitename']) . ': ' . $this->getItemUrl();
$maillink = XOOPS_URL.'/modules/tellafriend/index.php?target_uri='.rawurlencode($this->getItemUrl()).'&subject='.rawurlencode( sprintf(_MD_SSECTION_INTITEM, $xoopsConfig['sitename']) ) ;
Votes:3
Average:0.00
msg# 1.1.1.1.1.1.1.1
おはようございます。
テンプレート「smartsection_item.html」の変数「$itme.adminlink」には
・記事の編集
・記事を複製
・記事を削除
・この記事をPDFフォーマットで見る
・記事を印刷する
・記事をメールで送信
・ファイルを添付
・
以上7つがアイコン付きでアサインされています。
ですが,「$mail_link」もきていますので,標準的な書き方でOKです。
注意すべき点は,リンク用メールアイコンを「friend.gif」にすると,アイコンが二つ表示されてしまいます。それを回避する目的で,
「./modules/smartsection/links/friend.gif」を「tellafriend.gif」に改名。
1×1pxのgifファイルをfriend.gif名でアップロード。
<a href="<{$mail_link|xoops_tellafriend}>">
<img src='images/links/tellafriend.gif' alt='記事をメールで送信' />
</a>
これでいいと思います。
Votes:14
Average:5.00
msg# 1.1.1.1.1.1.1.1.1
こんにちは。
GIJOEさんとchoromoさんの両方を試してみました。結果は、GIJOEさんの記述で正常に動作しました。
僕、思ったんですけど、choromoさんの記述方法は、テンプレートファイルに記述ということならこれで動くと思ったんですが・・・。
<{$mail_link|xoops_tellafriend}>
これってsmarty変数ですよね?
Smarty変数はもともとプログラム部分とデザイン部分の間で受け渡しをするものと理解しているので、phpファイルでなくテンプレートファイルに記述されるもだと思うのですがいかがでしょう?
smartsectionの場合、mailtoの記述はテンプレートファイルではなく、phpファイルに記述されています。このため、choromoさんの方法では動作しなかったと推測したのですが正しいでしょうか?今後の勉強のためにご意見をお聞かせください。
いづれにせよ、GIJOEさん、choromoさん、ありがとうございました!
Votes:9
Average:10.00
msg# 1.1.1.1.1.1.1.1.1.1
本人じゃありませんし、SmartSectionはダウンロードしたこともありませんが…
Quote:
僕、思ったんですけど、choromoさんの記述方法は、テンプレートファイルに記述ということならこれで動くと思ったんですが・・・。
<{$mail_link|xoops_tellafriend}>
これってsmarty変数ですよね?
Smarty変数はもともとプログラム部分とデザイン部分の間で受け渡しをするものと理解しているので、phpファイルでなくテンプレートファイルに記述されるもだと思うのですがいかがでしょう?
smartsectionの場合、mailtoの記述はテンプレートファイルではなく、phpファイルに記述されています。このため、choromoさんの方法では動作しなかったと推測したのですが正しいでしょうか?今後の勉強のためにご意見をお聞かせください。
どこまで理解されているのかも良く判らない書込ですね。
choromoさんの書込を素直に読めば、その$mail_linkもちゃんとアサインされている、と解釈できます。
choromoさんの書かれた通り、テンプレートに記述したのでしょうか?
テンプレートsmartsection_item.htmlを編集する、とは、
念のために書いておきますが、
templates/smartsection_item.html
を書き換える、という意味じゃありませんよ。
Votes:0
Average:0.00
msg# 1.1.1.1.1.1.1.1.1.1.1
Quote:
choromoさんの書かれた通り、テンプレートに記述したのでしょうか?テンプレートsmartsection_item.htmlを編集する、とは、念のために書いておきますが、templates/smartsection_item.html
を書き換える、という意味じゃありませんよ。
はい。テンプレートの方は何も変えてません。choromoさんの記述方法をphpファイルの方で試しましたが動きませんでした。なんでだろ?それでは、僕が間違っているということですね。choromoさんの方法をまた試してみたいと思います。
ご意見ありがとうございます。
Votes:7
Average:0.00
msg# 1.1.1.1.1.1.1.1.1.1.1.1
書き方が良くなかったでしょうか。
choromoさんも私も、
「テンプレートに記述してください」
と書いてます。
そして、テンプレートに記述する、とは、ファイルを編集することではありません。tplsadminを使って、XOOPSのテンプレートとは何かを学んでください。
テンプレートを編集してね、といって、ファイルのパスを書く人が多くいますが、その時点で間違っています。
Votes:6
Average:10.00