新着記事の文字数を自動的に一定の数値にする  【解決済み】

質問全般・改善要望
返信する
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

新着記事の文字数を自動的に一定の数値にする  【解決済み】

投稿記事 by nakahi »

いつもお世話になっています。

<div class="test">
<h2>[+pagetitle+]</h2>
<a href="[~[+id+]~]"><img src="[+image+]" width="120" height="90" /></a>
<p><a href="[~[+id+]~]">[+comment+]</a></p>
</div>
のように新着記事を画像と表示させている場合に、記事のテキストはリソースを作成するたびに
comment欄にテキストを挿入しなくてはいけません。

この部分を自動化させて、新規作成したリソースの本文テキストから、一定の文字数(例えば150字)
のように決めて、comment欄を使用しなくても新着記事が出来上がるようにするには
どのようにすれば宜しいのでしょうか。

毎度下らない質問ではございますが、一応本人は真面目に取り組んでいます。
MODxで作成したサイトのリニューアル中の疑問ですが、宜しくお願いいたします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by yama »

Dittoのsummaryエクステンダーがそのものの機能を持っています。PHx([+content:limit=`150`+])を使う方法もあります
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by nakahi »

yamaさん、いつも大変お世話になり有難うございます。

「Dittoのsummaryエクステンダーがそのものの機能を持っています。」の部分での方法が分からずに、
「PHx([+content:limit=`150`+])を使う方法」で出来ました!(多分・・・・・

こんな感じで、一定の文字数が入力されています。
<div class="yoko">
<div class="yokotop"><a href="[~[+id+]~]">[+pagetitle+]</a></div>
<div class="yokoga"><a href="[~[+id+]~]"><img src="[+image+]" width="170" /></a></div>
<p>[+introtext:limit=`150`+]<a href="[~[+id+]~]">・・・・続きを読む</a></p>
</div>
<br clear="all" />

只一つ問題は、表示されたテキスト(この場合は150字)の最後の文字が文字化けを起こします。
100字などに変えても、最後の文字は「黒く塗りつぶされた菱形の中に?」になってしまいます。

この原因は、[+introtext:limit=`150`+]の部分がおかしいのでしょうか。
それともまったく別の原因でしょうか。
ご示唆頂けるものがあれば、宜しくご教授下さい。

一応MODxでサイト作成して1年以上経過しましたが、新着記事を表示させようとか、その他、、で
リニューアルしている最中での質問ですが、まったくの初心者と変わらない質問で申し訳ありませんが、
何卒宜しくお願いいたします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by yama »

バグかもしれません
http://d.hatena.ne.jp/hororiholy/20080318/p1
参考

添付のファイルを assets/snippets/ditto/classes/ に上書きして確認してみていただけますでしょうか。
(上書き後にリソースを空更新するなどしてキャッシュをクリアする必要があります)
添付ファイル
phx.parser.class.inc.zip
(5.37 KiB) ダウンロード数: 365 回
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by nakahi »

yamaさん、早々のご返信有難うございます。

添付のファイルを assets/snippets/ditto/classes/ に上書きしました。
結果は、文字化けは直りました!

が、・・・・[+introtext:limit=`150`+]の部分が有効にならず、数値を変更しても全て表示されます。

あっちを立てればこっちが立たず・・・・・
いつもご面倒をおかけ致しますが、解決方法をご教授頂ければ有難いです。
宜しくお願いいたします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by yama »

文字数設定が気になります。150文字のところを半分くらいにしてみるとどうなりますか?
それと、MODXのバージョンを教えていただけますでしょうか。この部分がマルチバイト対応になったのはこの半年くらいの間だったと思います。さっきの修正ファイルはさらに改善を施したものですが。
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by nakahi »

yamaさん、大変失礼致しました。
最初に書かなければいけなかったのですが、MODXのバージョンは「1.0.5J-r10」です。

それで、yamaさんのご指摘のとおり!文字数の設定値が多すぎました。
[+introtext:limit=`150`+]を[+introtext:limit=`50`+]にしたところ、問題なく表示されました。

お陰さまで、新着記事だけでなく、ほんの少々応用してサムネイル画像だけの見出しページの作成なども出来、
無事リニューアルの目処が立ちました!
次のサイトもMODxで作成し、もっと習熟したいと思っています。

本当に有難うございました。
これからも宜しくお願いいたします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by yama »

いざ本番運用に入ると、記事中でhtmlタグを使うこともあると思います

[+introtext:notags:limit=`50`+]
こう書くと、htmlタグを削除した状態に対してlimitをかけます

それともしよければでいいのですが、今回の改善を施した最新のphx.classを添付しましたので、普通に使えるかどうか試していただけると助かります。特に機能は変わらないですが、今後改善しやすいようにコードを全体的に整理しています
添付ファイル
phx.parser.class.inc2.zip
(5.68 KiB) ダウンロード数: 351 回
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by nakahi »

yamaさん、お世話になっています。

実は、[+introtext:limit=`50`+]を試す前に、[+content:limit=`50`+]とやったのですが、
htmlタグで記入していたので、その部分のタグが反映・表示されてぐちゃぐちゃで、これは駄目だと思っていました。

[+content:notags:limit=`50`+]とすると、ご説明のとおりhtmlタグが反映されず、テキストだけになります!
嬉しい情報を教えて頂きまして有難うございました!

添付された最新のphx.classをアップロードして上書きしました。
「普通に使えるかどうか」と言われましてもどう試して良いのか分かりませんが、上書きしても何ら問題なく表示されています。

ここをこんな風に書いて試してくれ、と仰られればやりますのでご指示下さい。
今色々行っているのは未公開サイトで試し、ここで出来たことを既設サイトでリニューアル中ですから、記入テキストが分かれば何でも出来ます。
このように記入しろ、とテキストを書いて頂かないと出来ませんが、遠慮なくご要請下さい。

今後とも宜しくお願いいたします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by yama »

http://forum.modx.jp/viewtopic.php?f=34 ... 4045#p4045
今回の件とは関係ないのですが、もしよければ上記のベータをお試しいただければと。さっきの改善も積み込み済みです
(http:設置URL/install/ でアップデートします)
ちょっとしたバグを修正しまして、ページの表示が少し軽くなってます
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by nakahi »

yamaさん、お世話になっています。

ベータ版にアップデートしました。
今は何の問題もなく動いています、表示も問題ありません。
と言っても、スニペットやプラグインなどほとんど使っていないので、挙動不審になりようがないのかも知れませんが・・・・・・

ところで、私もこのトピックとは無関係で申し訳ないのですが、最新版になっても「SEO Strict URLs」は必要なのでしょうか。
これに関する記事が全て古いので、今は不要なのかどうか判断がつかなくて今でも入れていますが、
一部バグがあると言うことで「SEO Strict URLsプラグイン(Phize版)」を入れています。
最新版を初めてインストールする場合もまだ必要なんでしょうか。

何らかのお役に立ったとも思えないアップデートですが、他に何かございましたら簡単な事は出来ますので
仰って下さい。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by yama »

確認ありがとうございます。違う環境で試すだけで不具合を確認できることはよくあるので、助かります。
開発中のMODX 1.0.5J-r11では、SEO Strict URLsとの相性問題はひととおり解決していると思います。

SEO Strict URLsの機能を補うものとしては、グローバル設定に「個別の拡張子表現」というconfigがありますので、これを使えばsitemap.xmlやfeeds.rssなどのエイリアス表現は可能になります。

もともとSEO Strict URLsは検索エンジン対策が目的のプラグインですが、今の検索エンジンの判定は賢いので、プラグインでURLを揃えなくても問題はないと思います。

http://modx.jp/docs/tips/seo.html
canonical属性を設定しておくとよいかもしれません
nakahi
メンバー
メンバー
記事: 131
登録日時: 2010年8月04日(水) 20:23

Re: 新着記事の文字数を自動的に一定の数値にする

投稿記事 by nakahi »

yamaさん、お世話になっています。

確認程度でしたらいつでも仰って下さい、その程度のお役でしたらいつでもさせて頂きます。

> 開発中のMODX 1.0.5J-r11では、SEO Strict URLsとの相性問題はひととおり解決していると思います。
有難うございます。サイト作成時に、一つ手間が省けます。

> http://modx.jp/docs/tips/seo.html
> canonical属性を設定しておくとよいかもしれません
上記ページを参考にcanonical属性を設定しようと思います。

拙い質問にいつもお付き合い頂き本当に有難うございました。
また今後とも宜しくお願いいたします。
返信する