magento--magentoの分類で特定の製品をトップページに載せる


magento--magentoの分類で特定の製品をトップページに載せる
 
magentoのトップページはcmsで実現された静的ページで、magentoのroutersを修正すれば、magentoをデフォルトでcmsページに入れずに製品ページに直接アクセスできると思います.しかし、私はまだ試していません.また、cmsページにblockを直接追加して、cmsページに製品を表示する目的を実現することもできます.
まず、バックグラウンドにログインし、cms---manage pageに入ります
次に、現在有効なホームページを編集します.
  {{block type = "catalog/product_list" category_id="xx" template = "catalog/product/homepage.phtml" }}
 
これにより、ある製品をトップページに置くことができますが、特定の製品をいくつか選んでトップページに載せたいというユーザーによく遭遇します.ずっと考えていませんでした.前からそうすればいいと知っていたので、プログラミングの観点から考えていました.magentoのproduct/list blockにフィルタ条件を少し加えればいいと思っていました.そして、確かにできます.実現手順は以下の通りです.
 
1.ユーザーが製品を追加する前に、ユーザーが使用するattributte setに属性(show_on_homepage、名前はカスタマイズ可能)を追加します.この属性タイプはyesnoタイプに設定され、yes値がある場合はトップページに表示されます.つまり、ユーザーがトップページにこの製品を表示したい場合は、これをyesに設定します.
 
2.ブロックが1つしか含まれていない独自のmoduleを作成します.次にblockにコードを追加してproduct collectionをフィルタします.もちろん、このblockをcatalogモジュールの対応するディレクトリの下に直接配置し、テンプレートを関連するトピックディレクトリテンプレートの下に配置することもできます.
 
$products   = $product->setStoreId($storeId)->getCollection()             ->addAttributeToFilter('show_on_homepage', array('yes'=>true))
 
 
明らかに、上記の面はユーザーが製品を追加したときにしなければならない.もしユーザーが多くの製品を追加したらどうするのか.やはり方法がある.product list blockはクラスの製品を表示できるので、コードを変更したくない場合は、新しいサブクラスを設定して、トップページのメニューでこのクラスを見ない限りactiveに設定しないように注意してください.その後、このサブクラスのidをproduct list blockに渡し、その後、ユーザーにトップページに置く製品を選択させ、これらの製品をこのクラスの下に指定させます.これはmagentoの1つの製品を利用して複数の分類に指定できる特徴です.