Exemple #1
0
				<?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>
Exemple #2
0
 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;
 }