現在、私は Jreviews をインストールしていますが、それを K2 に置き換えて、住所、電話番号、地図、営業時間などの専門店を一覧表示したいと考えています。
K2 では、これらの特定の情報を保持するために追加のカスタム フィールドを定義する必要があると思います。問題ない。
しかし、特定のショップの詳細記事/アイテムにそれらのフィールドが表示されるように設定するにはどうすればよいですか?
どうもありがとう、
チビ。
現在、私は Jreviews をインストールしていますが、それを K2 に置き換えて、住所、電話番号、地図、営業時間などの専門店を一覧表示したいと考えています。
K2 では、これらの特定の情報を保持するために追加のカスタム フィールドを定義する必要があると思います。問題ない。
しかし、特定のショップの詳細記事/アイテムにそれらのフィールドが表示されるように設定するにはどうすればよいですか?
どうもありがとう、
チビ。
// In the item template you can skip this first line...
$this->item->extra_fields = K2ModelItem::getItemExtraFields($this->item->extra_fields);
$extraFlds = array();
if ( $this->item->extra_fields ){
foreach ( $this->item->extra_fields as $key=>$extraField ){
$extraFlds[ $extraField->name ] = $extraField->value;
}
}
次に、次のように関連配列の追加フィールドにアクセスできます$extraFlds['my field']
ここで何度も試した後、私が使用して機能したもの
<?php
// if form is empty show default form
$k2obj = new K2ModelItem();
$fields = $k2obj->getItemExtraFields($this->item->extra_fields, $this->item);
//echo $this->item->extraFields->State->name;
echo $this->item->extraFields->FIELD_ALIAS->value;
?>
これは機能しており、すべてがクラスのインスタンス化に固定されていることに注意してください。
注:これをk2アイテムiバージョン2.6.7 Joomla 2.5.14で使用しています
k2テーブルリストにカスタムフィールドを表示したい場合は、次の場所に移動します。
components\com_k2\templates\default\category_item.php
136 行目付近のファイルを次のように編集します。
<?php foreach ($this->item->extra_fields as $key=>$extraField):
**if(strpos($extraField->name,"/")){**
?>
<li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
<span class="catItemExtraFieldsLabel"><?php echo $extraField->name; ?></span>
<span class="catItemExtraFieldsValue"><?php echo $extraField->value; ?></span>
</li>
<?php **}** endforeach; ?>
私は自分のサイトでそれを行います: www.joomir.com
K2 では、アイテムがカテゴリ レベルでどのように表示されるかのパラメータを設定します。カテゴリ リストのアイテム ビュー オプションとアイテム ビュー オプションの両方に追加フィールドを表示するオプションがあります。
デフォルトでは、組み込みの K2 テンプレートは、「追加情報」という見出しの下に、フィールド名と値の順序付けられていないリストを含む追加フィールドを表示します。そのテンプレートを上書きして、追加のフィールドを好きなように表示することができます。