web-dev-qa-db-ja.com

Joomla 3.x-記事のカスタムフィールドの自動更新

多分私はカスタムフィールドを適切に使用していませんが、これが私の問題です:

いくつかの記事に掲載されているテキストがあります。テキストを変更する必要があるときに個々の記事を更新する必要はなく、カスタムフィールドを使用しようとしました。

これは記事に正しく表示されますが、カスタムフィールド(デフォルト値)を更新すると、更新がさまざまな記事に反映されません。

したがって、より具体的な詳細については:

私はさまざまな記事を持っています。それぞれに、これらのすべての記事に共通する特定のテキストがあります...テキストは「現在のアカウントマネージャーはブログです」としましょう。そこで、「Account_Mgr」というカスタムフィールドを作成しました。デフォルトのテキストとして「Mr Blog」があります。このフィールドをすべての関連記事{フィールド1}(またはIDが何であれ)に追加しました。アカ​​ウントマネージャーが変更されたときに、定期的に「Mr Blog」を「Miss Smith」に変更します。

複数の記事の同じテキストを変更するのではなく、「ミススミス」に変更する場合は、カスタムフィールドを使用して、その単一のフィールドを(ブログからスミスに)変更しました。そのカスタムフィールド({フィールド1})を持つすべての記事が自動的に更新されることを期待していましたが、どれも更新されませんでした。

Joomlaとブラウザのキャッシュをクリアしました。CDNを使用していません。別のブラウザを試しましたが、何も起こりません。

私は何か間違ったことをしていますか、ORカスタムフィールドをこのように使用しないでください?

おかげで、マイク

2
ml09616

実際、私はこの質問を閉じません。シャーキーが与えたように、それには簡単な答えがあるからです。しかし、質問で言及された目的のために記事内(またはそれ以下またはそれ以上)のモジュールを使用する、この質問のより簡単でユーザーフレンドリーな解決策があります。質問がよく理解できれば。

カスタムモジュールの位置でコンテンツをカスタムモジュール(テキスト、画像、その他)に配置し、後でそのモジュールのコンテンツを変更した場合、そのモジュールが公開されている任意の場所(例: {loadposition custommoduleposition}を使用すると、表示されるコンテンツも変更されます。これがOPの目的です。たとえば、Joomlaにはそのためのモジュールがあります。彼がコンテンツを変更した場合、それは表示されたあらゆる場所に反映されなければなりません。

したがって、目的に合わせてフィールドではなくカスタムモジュールを作成して使用します。

1
Zollie

あなたが達成しようとしていることはカスタムフィールドで可能ですが、それは便利ではありません。記事を作成または編集するたびにフィールド値をクリアする必要があります。これにより、データベースに保存されず、カスタムフィールドパラメータに設定された実際のデフォルト値が表示されます。

しかし、正しい解決策は適切なショートコード拡張です。

0
Sharky

それをアーカイブする方法:

  • タイプListのカスタムフィールドを作成します
  • リスト内の各アイテムにはLabel(例:ボブさん)と一意のValue(例1またはmanager1
  • 記事で、作成したばかりのマネージャーのドロップダウンリストを使用してマネージャーを選択します
  • マネージャーを変更する必要がある場合は、カスタムフィールドの編集に移動し、マネージャーのLabelを新しいものに変更します(例:ジェンキンス氏)。
  • その特定のマネージャーを選択したすべての記事に新しい名前が表示されます(マネージャーはID /値で識別されるため)。

それでおしまい。マネージャーを選択したすべての記事は新しい名前を使用します。

使い方:

各記事には値のみが格納されます(選択リストの値は、この例では1manager1またはマネージャーのIDとして設定した値です)。したがって、ラベルを変更するときは、値に触れるのではなく、その値のラベルだけを変更します。この方法では、記事を表示するときに値を使用して現在のマネージャーを識別しますが、そのラベルを使用してマネージャーを表示します。

なぜカスタムフィールドを使用する方が良いソリューションですか?

マネージャーは、特定の記事(エンティティ)に添付されるデータです。データは構造化されており、クエリを実行できる必要があります。ある日、選択したマネージャーの記事を探したいとしましょう。モジュールを使用してこれを行うには、HTMLの解析が必要になります。

また、利用可能なマネージャーのドロップダウンフィールドを使用すると、よりユーザーフレンドリーになることを覚えておいてください。ショートコードやモジュールIDを覚えておく必要はありません。定義済みのリストがあります。つまり、データをより詳細に制御し、ミスのスペースを減らすことができます。

それは最善の解決策ですか?いいえ。ユーザーは引き続きカスタムフィールドにアクセスして、マネージャーフィールドを探す必要があります。しかし、それはあなたがJoomlaから得ることができる最も多くのものです!カスタムコンポーネントを作成せずに。

0
Artur Stępień