- /**
- * Retrieve item renderer block
- *
- * @param string|null $type
- * @return \Magento\Framework\View\Element\Template
- * @throws \RuntimeException
- */
- public function getItemRenderer($type = null)
- {
- if ($type === null) {
- $type = self::DEFAULT_TYPE;
- }
- $rendererList = $this->_getRendererList();
- if (!$rendererList) {
- throw new \RuntimeException('Renderer list for block "' . $this->getNameInLayout() . '" is not defined');
- }
- $overriddenTemplates = $this->getOverriddenTemplates() ?: [];
- $template = isset($overriddenTemplates[$type]) ? $overriddenTemplates[$type] : $this->getRendererTemplate();
- return $rendererList->getRenderer($type, self::DEFAULT_TYPE, $template);
- }