<?php foreach ($this->templates as $template) { $metadata = $template->getMetadata(); echo '<div>' . $metadata['name'] . ': '; $renderer = new ItemRenderer(); $renderer->addPath($template->getPath()); $path = 'item'; $prefix = 'item.'; if ($renderer->pathExists($path . DIRECTORY_SEPARATOR . $type->id)) { $path .= DIRECTORY_SEPARATOR . $type->id; $prefix .= $type->id . '.'; } $links = array(); foreach ($renderer->getLayouts($path) as $layout) { // get layout metadata $metadata = $renderer->getLayoutMetaData($prefix . $layout); if ($metadata->get('type') == 'submission') { // create link $link = '<a href="' . JRoute::_($this->baseurl . '&task=assignsubmission&type=' . $type->id . '&template=' . $template->name . '&layout=' . $layout) . '">' . $metadata->get('name', $layout) . '</a>'; // create tooltip if ($description = $metadata->get('description')) { $link = '<span class="editlinktip hasTip" title="' . $metadata->get('name', $layout) . '::' . $description . '">' . $link . '</span>'; } $links[] = $link; } } echo implode(' | ', $links); echo '</div>'; } ?> </td>
public static function getLayouts($application, $type_id, $layout_type = '') { $result = array(); // get template if ($template = $application->getTemplate()) { // get renderer $renderer = new ItemRenderer(); $renderer->addPath($template->getPath()); $path = 'item'; $prefix = 'item.'; if ($renderer->pathExists($path . DIRECTORY_SEPARATOR . $type_id)) { $path .= DIRECTORY_SEPARATOR . $type_id; $prefix .= $type_id . '.'; } foreach ($renderer->getLayouts($path) as $layout) { $metadata = $renderer->getLayoutMetaData($prefix . $layout); if (empty($layout_type) || $metadata->get('type') == $layout_type) { $result[$layout] = $metadata; } } } return $result; }