系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》
本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。
在Magento 2中,选择列组件用于在前端界面上创建一个可以让用户选择行的复选框组件。下面是一个简单的示例代码,演示如何在Magento 2中创建一个选择列组件:
<?php namespace Vendor\Module\Block; use Magento\Framework\View\Element\Template; class MyBlock extends Template { protected $_items = []; public function addItem($id, $name) { $this->_items[] = [ 'id' => $id, 'name' => $name, ]; return $this; } public function getItems() { return $this->_items; } }
在上面的示例代码中,我们创建了一个名为"MyBlock"的自定义模板块,其中包含了两个公共方法。第一个方法"addItem"用于向选择列组件中添加一行,该方法接受两个参数:行的ID和行的名称。第二个方法"getItems"用于获取已添加的行列表。
在模板文件中,您可以使用以下方式来调用这两个方法:
<form> <table> <thead> <tr> <th><input type="checkbox"></th> <th>ID</th> <th>Name</th> </tr> </thead> <tbody> <?php foreach ($block->getItems() as $item): ?> <tr> <td><input type="checkbox" name="selected_items[]" value="<?php echo $item['id']; ?>"></td> <td><?php echo $item['id']; ?></td> <td><?php echo $item['name']; ?></td> </tr> <?php endforeach; ?> </tbody> </table> </form>
在上面的模板代码中,我们使用一个table元素来展示选择列组件。在表格头部,我们创建一个单独的复选框,用于选择或取消选择所有行。在表格主体中,我们循环遍历所有已添加的行,并输出它们的ID、名称以及一个单独的复选框,用于选择或取消选择该行。当用户选择了一个或多个行时,这些行的ID将会被提交到后端进行处理。您可以根据需要自定义选择列组件的样式和布局。