คำถามติดแท็ก filter

แสดงคำถามเกี่ยวกับการกรองใน Magento (การนำทางแบบเลเยอร์การกรองคอลเลคชัน)

2
การกรองคลังเก็บวัตถุวีโอไอพี 2
ใน Magento 2 คุณสามารถใช้ที่เก็บผลิตภัณฑ์เพื่อกรองตามคุณสมบัติของผลิตภัณฑ์ได้หรือไม่? ใน Magento 2 คุณสามารถใช้วัตถุเงื่อนไขการค้นหา \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, และพื้นที่เก็บข้อมูล \Magento\Catalog\Api\ProductRepositoryInterface $productRepository, เพื่อดึงรายการของวัตถุ $searchCriteria->getPageSize(10); $list = $productRepository->getList($searchCriteria); อย่างไรก็ตามวัตถุ searchCriteria ไม่มี (ดูเหมือนว่า?) มีความสามารถในการกรองโดยตรง ชั้นเกณฑ์การค้นหาไม่มีวิธีการสำหรับการเพิ่มสิ่งที่เรียกว่า filterGroups #File: lib/internal/Magento/Framework/Api/SearchCriteria.php public function getFilterGroups() { $filterGroups = $this->_get(self::FILTER_GROUPS); return is_array($filterGroups) ? $filterGroups : []; } public function setFilterGroups(array $filterGroups = null) { return $this->setData(self::FILTER_GROUPS, …

3
หลายเงื่อนไข (หรือและและภายในและ) ใน addAttributeToFilter
วิธีการสร้างหลายเงื่อนไขใน addAttributeToFilter ฉันต้องการผลแบบสอบถาม SQL เช่นนี้ (ภาพที่แนบมา): WHERE ((`e`.`news_from_date` > '2013-09-12') OR (`e`.`news_to_date` < '2013-09-12')) AND ((((`e`.`special_price` IS NULL))) OR (((`e`.`special_price` IS NOT NULL)) AND ((`e`.`special_from_date` < '2013-09-12') OR (`e`.`special_to_date` > '2013-09-12')))) $collection->addAttributeToFilter('special_price', array('null'=>'special_price'), 'left'); ขอขอบคุณ
19 filter 

4
เพิ่มคอลัมน์ในกริด (ผู้สังเกตการณ์) - คอลัมน์ 'store_id' ในกรณีที่คำสั่งย่อยเป็นปัญหาที่ไม่ชัดเจน
ฉันกำลังเพิ่มคอลัมน์ในตารางคำสั่งซื้อโดยใช้วิธีผู้สังเกตการณ์: ในกิจกรรม -> sales_order_grid_collection_load_beforeฉันกำลังเพิ่มการเข้าร่วมในคอลเล็กชัน ในกิจกรรม -> core_block_abstract_prepare_layout_beforeฉันกำลังเพิ่มคอลัมน์ลงในตาราง แก้ไขข้อมูลเพิ่มเติม: ในกิจกรรม (1): public function salesOrderGridCollectionLoadBefore($observer) { $collection = $observer->getOrderGridCollection(); $collection->addFilterToMap('store_id', 'main_table.store_id'); $select = $collection->getSelect(); $select->joinLeft(array('oe' => $collection->getTable('sales/order')), 'oe.entity_id=main_table.entity_id', array('oe.customer_group_id')); } ในเหตุการณ์ (2): public function appendCustomColumn(Varien_Event_Observer $observer) { $block = $observer->getBlock(); if (!isset($block)) { return $this; } if ($block->getType() == 'adminhtml/sales_order_grid') { /* …

2
วิธีการเปลี่ยนรูปแบบวันที่ของตัวกรองกริดผู้ดูแลระบบ magento 2 โดยไม่ใช้คอมโพเนนต์ ui
ด้านล่างเป็นsome_grid_block.xml, ฉันจะเปลี่ยนรูปแบบวันที่ในตัวกรองปฏิทินได้อย่างไร <?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="adminhtml.qrcode.grid.container"> <block class="Oneteam\Qrcode\Block\Grid" name="adminhtml.qrcode.grid" as="grid"> <arguments> <argument name="id" xsi:type="string">QrcodeGrid</argument> <argument name="dataSource" xsi:type="object">Oneteam\Qrcode\Model\ResourceModel\Qrcode\Collection</argument> <argument name="default_sort" xsi:type="string">qr_id</argument> <argument name="default_dir" xsi:type="string">desc</argument> </arguments> <block class="Magento\Backend\Block\Widget\Grid\Column\Filter\Date"> <filterRange name="created_at" class="Magento\Backend\Block\Widget\Grid\Column\Filter\Date"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="dataScope" xsi:type="string">created_at</item> <item name="label" xsi:type="string" translate="true">Created</item> </item> </argument> <filterDate name="from"> …

1
Magento 2: ฉันจะโหลดกริด admin ด้วยค่าตัวกรองที่กำหนดไว้ล่วงหน้าได้อย่างไร
ฉันต้องการสร้างลิงค์ไปยังกริดที่กำหนดเองในผู้ดูแลระบบของฉันด้วยตัวกรองที่กำหนดไว้ล่วงหน้า กริดนั้นสร้างขึ้นด้วย UI Listing Component (XML) และมีคอลัมน์ที่เรียกform_idว่าติดตั้งดังนี้: <column name="form_id"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="filter" xsi:type="string">textRange</item> <item name="label" xsi:type="string" translate="true">Form id</item> </item> </argument> </column> ตารางทำงานได้ดี ฉันสามารถใช้ตัวกรองและทุกอย่างทำงานได้ดี กริดได้รับการอัพเดทอย่างสวยงามด้วยคำขอ XHR อย่างไรก็ตาม ... ฉันต้องการที่จะมีค่าตัวกรองที่กำหนดไว้ล่วงหน้าในบางจุด ตัวอย่างเช่นฉันต้องการที่จะสามารถเปิดกริดเมื่อมันถูกกรองใน ID = 3 ดังนั้นฉันจึงลองโหลดหน้าเว็บที่มีพารามิเตอร์ URL เดียวกับคำขอ XHR รวมถึงเพียงเพิ่มพารามิเตอร์ที่จำเป็นเท่านั้น: ?namespace=form_response_listing&search=&filters[placeholder]=true&filters[form_id][from]=3&filters[form_id][to]=3&paging[pageSize]=20&paging[current]=1 เช่นเดียวกับ: ?filters[form_id][from]=3&filters[form_id][to]=3 ทั้งที่ไม่ประสบความสำเร็จ ดังนั้นฉันจะเติมตัวกรองล่วงหน้าโดยใช้ URL ได้อย่างไร แก้ไข: …
14 magento2  admin  grid  filter 

1
จะระบุลำดับการจัดเรียงแบบกำหนดเองสำหรับการรวบรวมผลิตภัณฑ์ได้อย่างไร
ฉันกำลังพยายามสร้างชุดผลิตภัณฑ์ตามอาร์เรย์รหัสผลิตภัณฑ์และเรียงลำดับชุดสะสมตามอาร์เรย์รหัส $productIds = array(318,310,311); $collection = Mage::getModel('catalog/product') ->getCollection() ->setOrder('entity_id', 'asc') // This will not do the job ->addAttributeToSelect('*') ->addAttributeToFilter('status', 1) ->addAttributeToFilter('entity_id', array( 'in' => $productIds, )); ฉันต้องการที่จะรวบรวมจัดเรียงตามที่ปรากฏใน$productIdsอาร์เรย์ที่มีแต่เหนือรหัสจะกลับมาจัดเรียงคอลเลกชันเช่น318, 310, 311310,311, 312 เป็นไปได้โดยไม่ใช้แบบสอบถาม MySQL ธรรมดาตามที่ระบุด้านล่าง? SELECT * FROM catalog_product_entity WHERE entity_id IN (318, 310, 311) ORDER BY FIELD(entity_id, 318, 310, 311);

1
Magento 2 - หน้าผลิตภัณฑ์ทั้งหมดพร้อมการนำทางและการแบ่งหน้า
ผมต้องการสร้างหน้าสินค้าทั้งหมดที่มีfilters, ,toolbarpagination ฉันสามารถทำได้โดยการสร้างหมวดหมู่ใหม่ที่มีชื่อAll Productsและกำหนดผลิตภัณฑ์ทั้งหมดในนั้น แต่ฉันเดาว่านี่ไม่ใช่วิธีการที่ดีราวกับว่าทุกครั้งที่มีการเพิ่มผลิตภัณฑ์ใหม่ลงในเว็บไซต์ก็ควรเพิ่มในหมวดหมู่ผลิตภัณฑ์ทั้งหมด มีโอกาสผิดพลาดจากมนุษย์มากมาย มีวิธีเรียกเพจหมวดหมู่ด้วยหมวดหมู่ระดับรูทหรือไม่? ชอบจากID: 2 มันก็โอเคถ้าใครไม่ต้องการเขียนโค้ดให้ฉัน แต่ถ้าใครสามารถช่วยฉันหาวิธีที่จะทำมันจะดี

8
Magento 2 รับ id หมวดหมู่โดยใช้ชื่อหมวดหมู่
ฉันต้องการรับรหัสประเภทโดยใช้ชื่อหมวดหมู่โดยใช้ฟังก์ชันประเภทนี้เท่านั้น ->load($categoryTitle, 'title') ->getId(); ใช้กรณี: รับรหัสหมวดหมู่ตามชื่อและวางข้อมูลรหัสในอาร์เรย์ในสคริปต์การย้ายข้อมูล

5
วิธีการรับสินค้าโดยจำนวนสินค้า?
ฉันมีรหัสต่อไปนี้: umask(0); Mage::app(); $category =new Mage_Catalog_Model_Category(); $category->load($cid); if ($status == "2") { $products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect('*') ->addFieldToFilter('status',Mage_Catalog_Model_Product_Status::STATUS_DISABLED); $products->load(); } if ($status == "1") { $products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect('*'); $products->load(); } ฉันต้องการเพิ่มตัวกรองจำนวนหุ้นเพื่อกรองผลิตภัณฑ์ฉันลอง: $products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect('*'); **->addAttributeToFilter('qty', array("gt" => 0));** แต่ไม่ประสบความสำเร็จความคิดใด ๆ
10 product  filter 

4
วิธีการกรองผลิตภัณฑ์ไม่อยู่ในหมวดหมู่?
นี่คือรหัสของฉัน: $catIds = array(7,8,9); $collection = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect("*"); ->addAttributeToFilter('category_ids', array('nin' => $catIds)); ฉันต้องการรับผลิตภัณฑ์ทั้งหมดที่ไม่อยู่ในรายการรหัสหมวดหมู่ แต่รหัสของฉันไม่ได้ให้ผลลัพธ์ที่คาดหวัง กรุณาช่วยบอกทางหน่อย

2
Magento 2: การรวบรวมผลิตภัณฑ์กรองตามหลายหมวดหมู่ (Magento 2.1)
ฉันใช้Magento 2.1.0และตอนนี้ฉันมีปัญหาในการกรองชุดผลิตภัณฑ์ที่มีหลายหมวดหมู่ ฉันใช้มากกว่าสองวิธีในการทำให้มันใช้งานได้ แต่ก็ไม่เป็นเช่นนั้น สมมติว่า: $catalog_ids = [618, 619, 620]; ส่งคืน NULL $productCollection = $this->productCollectionFactory->create() ->addAttributeToSelect('*') ->addCategoriesFilter(array('in' => $catalog_ids)); ส่งคืนข้อยกเว้น: ชื่อแอตทริบิวต์ไม่ถูกต้อง: category_id $productCollection = $this->productCollectionFactory->create() ->addAttributeToSelect('*') ->addAttributeToFilter('category_id', array( 'finset' => $catalog_ids )); ส่งคืนข้อผิดพลาดทางไวยากรณ์หรือการละเมิดการเข้าถึง $productCollection = $this->productCollectionFactory->create() ->addAttributeToSelect('*') ->addAttributeToFilter('category_ids', array( 'finset' => $catalog_ids )); คำแนะนำใด ๆ เกี่ยวกับวิธีที่ฉันสามารถมีงานนี้หรือมีบางสิ่งบางอย่างเชื่อมโยงงานนี้

1
Magento 2: ข้อมูลประกอบการทำงานของการนำทางแบบเลเยอร์เป็นอย่างไร
ฉันได้สร้างโมดูลสำหรับตัวกรองที่กำหนดเองในหน้าหมวดหมู่ทุกสิ่งทำงานได้ดียกเว้นช่วงราคาในการนำทางแบบเลเยอร์ โปรดใครก็ได้อธิบายให้ฉันฟังว่า getFacetedData ('price') ทำงานอย่างไรใน magento2 $productCollection->getFacetedData('price'); ฟังก์ชั่นนี้ให้ช่วงราคาตามคอลเล็กชันผลิตภัณฑ์เริ่มต้นที่ไม่อิงคอลเลกชันที่กรองของฉัน FYI: ฉันได้รวบรวมคอลเล็กชันดังต่อไปนี้ $productCollection = $layer->getProductCollection() ->clear() ->addAttributeToSelect(['name','price']) ->addAttributeToFilter('sku', array('in' => ['sku1','sku2']));

2
Magento Filter โดยการสร้างเวลา (วันนี้, เมื่อวาน, สัปดาห์, ชั่วโมง ฯลฯ )
ฉันมีคอลเลกชันที่กำหนดเองที่ฉันต้องการกรองตามวันที่สร้างและรายการ het ที่สร้างขึ้นเมื่อวาน รายการสะสม //dates are set in controller using setCreatedTime(Mage::getModel('core/date')->gmtDate()); สร้างเมื่อวาน (ไม่ทำงาน) //3 products items Yesterday //below filtering outputs incorrect entries $collection = Mage::getModel('things/things')->getCollection(); ฉันได้ลองแล้ว แต่ให้ผลลัพธ์ที่ไม่ถูกต้อง //thought strtotime('yesterday') would work.. $collection->addFieldToFilter('created_time', array('gt' => Mage::getModel('core/date')->date('Y-m-d H:i:s', strtotime('yesterday')))); $collection->addFieldToFilter('created_time', array('gt' => Mage::getModel('core/date')->date('Y-m-d H:i:s', strtotime('-1 day')))); $collection->addFieldToFilter('created_time', array('from'=> strtotime('-1 day', time()),'to'=> time(),'datetime' …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.