2017-08-26 11 views
0

私たちはDrupal 7サイトで、Ellucian Portal(Microsoft SharePointの上に構築されています)で消費されるrssフィードを作成しています。フィードから5つのアイテムタイトルを逆順にリストする「Webパーツ」(SharePointの言葉だと思います)があります。私たちのフィードは10項目で構成されています。つまり、SharePointは1〜5の代わりに10〜6のタイトルをリストしています。注文の逆転がSharePointのものかEllucianのものかはわかりません。Drupal 7の表示順序を逆にする

Viewモジュールを使用して標準のDrupal方法でビューを生成しています。

私は4種類のソリューションを試してみることができます。

  1. ビューのUIで並べ替え順序の設定を変更します。それは動作しません。 20ノードから引き出す場合、10から1の代わりに20から11のアイテムを供給します。ポータルは11から15までのアイテムをうまく一覧表示しますが、これは依然として必要なものではありません。

  2. 私たちのフィードをわずか5項目に制限します。少なくともEllucian/SharePointは適切な項目をリストアップします。それはうまくいくが、最適ではない。これは、今後のイベントのフィードであり、最も近いイベントを最初に持つ方がよいだろう。

  3. フィードの順序を逆にしないようにしてください。それが可能な場合、これは確かに最良の解決策になります。 PortalのKeeperはこれを行う方法を見つけていません。私はそれがKeeper、Ellucian、またはSharePointの無能であるかどうかは分かりません。

  4. Viewsがフィード用に10個のアイテムを選んだ後、Drupalサイトでフィードを削除します。これを実現する有望な場所に最も近いのは、Viewsモジュールのtemplate_preprocess_views_view_rss()関数をオーバーライドすることです。それまでに、xmlのitems部分が生成されました。私はそれを個々のアイテムに分解して、リゾートにする必要があります。やっぱり醜い。どこかにあるのがいいのですが、reverse_array()を単純に適用できます。

SharePointまたはポータルの専門家がポータルのキーパーを助けるのに役立つかもしれません。またはDrupalの専門家が、フィードを利用するより良い場所を見つけるのを助けるかもしれません。それ以外にあなたが持っているものは何でも。

答えて

1

結果を並べ替えるにはhook_views_post_exexute()フック機能を使用してみてください。 (まだお持ちでない場合)

基本的に、あなたのモジュールを作成する必要がありますし、好きなことに機能を追加します。

function MY_MODULE_views_post_execute(&$view) { 
    if ($view->name == 'MY_VIEW') { 
    // re-order $view->result here 
    } 
} 

ビュー(クエリ)を実行した後、あなたの関数が呼び出され、結果を並べ替えるなど、ここで変更することができます。あなたは「MY_MODULE」と自分のモジュールとビューのマシン名を持つ「MY_VIEW」を置き換えます。もちろん、

...

https://api.drupal.org/api/views/views.api.php/function/hook_views_post_execute/7.x-3.x

0

MilanGは、正しい答えを提供していますが、それは解決しませんでした根底にある問題。 SharePoint(またはEllucian Portal)は<pubDate>に基づいてフィードをソートしていますが、<の項目>にはソートしていません。私は好きな順序でアイテムを手配することができ、Portalに表示されるものは何の違いもありません。私はこの時点で2つの選択肢があるようです - 私の質問で上記のoptiojn(3)を数えないでください。

  1. マッサージ(MilanGの答えを使用して)フィードは間違っ< pubDateの>を与えるが、少なくとも、正しい順序を強制します。

  2. PortalのCSSにアクセスしてflex-directionで修正できるかどうかを確認してください。

二本から学ぶべき教訓:

。マイクロソフトが関与するたびに、醜さが続いています。

b。マンデルビルの法則:何らかのソフトウェア(この場合はSharePoint)はあなたのために何かします。

関連する問題