0

2 つのフィールドを持つビューがあります。そのうちの 1 つで、用語の名前を読み込みますが、その名前の必要な部分を削除したいと考えています。したがって、ビューは用語の名前をロードする必要がありますが、一部はロードしません。

例)ある記事が "Example - one" という用語に属しており、用語名の "Example" 部分のみ、つまりこの "- ..." 部分の前に表示したい。

4

1 に答える 1

0

--編集--最後の部分は常に同じなので、たとえば
and、(スペースを含む) の長さを使用し、その数 (この場合は12 ) を負の数ことを除いて、以下と同じことを行うだけです。.Example one - somethingAnother example - something - something

短いバージョン: 7の代わりに-12を使用します。

<?php
  print substr($value, 0, -12);
?>

--編集終了--

項自体がどれほど一定であるかに応じて、いくつかのオプションがあります。たとえば、すべての用語が同じ単語で始まっていますか ( Example - oneExample - ninety-nineExampleなど)? その場合、フィールドを「このフィールドを最大長にトリミングする」ように構成するときにオプションが表示されるはずです。単語Exampleの場合、その長さを 7 に設定するだけです (単語には 7 文字があるため)。)。

また、views_php モジュールをインストールし、新しい PHP フィールドをビューに追加することもできます (グローバル: PHP --グローバル: カスタム テキストオプションのすぐ下)。その後、PHP フィールドの構成の下部に向かって、のボックスと別のボックスが表示されます。その下の 1 つはOutputです。

PHP フィールドのを次のように設定します。

return $row->term_field_goes_here;

... term_field_goes_hereを、ボックスの下に表示される適切な「置換パターン」に置き換えます。次に、PHP フィールドの出力を次のように設定します。

<?php
  // $value is automatically assigned from the "Value" box, so we just tell it to
  //   print a substring of $value, aka $row->term_field_goes_here, keeping only 7
  //   characters, and starting from the 0th character ("E").
  print substr($value, 0, 7);
?>

それが役立つことを願っています... :)

于 2012-06-14T04:45:31.700 に答える