商品リストのカテゴリページを再編成する必要があります。このランキングに従う必要がある製品にdate_field属性があります。
- date_field >=今日の商品が最初に表示されます
- date_field <今日の製品にマージします
そこで、次のコードを使用して、catalog_block_product_list_collectionディスパッチャーのオブザーバーを作成しました。
$original_collection = clone $observer->getEvent()->getCollection();
$observer->getEvent()->getCollection()
->addAttributeToFilter('data_inicio', array('gteq' => date('Y-m-d')));
$collection2 = $original_collection
->addAttributeToFilter('data_inicio', array('lt' => date('Y-m-d')));
//and after I will merge both collections by adding each item from $collection2 into $observer
ただし、同じフィルターを$ collection2に再度適用すると、次のエラーが発生します。
相関名'_table_data_inicio_default'を複数回定義することはできません
フィルタの最初の部分だけが正常に機能します。それを行うためのより良い方法はありますか?