Acquia Prosper и Primary Links

Главные вкладки

Аватар пользователя pouldenton pouldenton 10 ноября 2010 в 23:09

Здравствуйте!

Я пытаюсь воспользоваться темой Acquia Prosper для Drupal 6, но, практически сразу всплыла проблема. По какой-то неведомой причине и по непонятной логике, ссылки Primary Links выводятся в шаблоне ниже Secondary Links, т.е., если разделить шапку на три этажа, то сначала идут Secondary Links, потом Логотип и т.п., еще ниже выводятся Primary Links. И все бы ничего, но в моем случае, в качестве Secondary Links должны выводиться дочерние элементы Primary Links и на выходе получается что в самом верху страницы располагаются не глобальные разделы, а подкатегории этих разделов, т.е. все перевернуто с ног на голову. Подскажите, как правильно исправить код в шаблоне, чтобы они поменялись местами? Исходный код page.tpl.php:

<?php
// $Id: page.tpl.php,v 1.7 2010/09/17 21:36:06 eternalistic Exp $
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language->language; ?>" xml:lang="<?php print $language->language; ?>">

<head>
  <title><?php print $head_title; ?></title>
  <?php print $head; ?>
  <?php print $styles; ?>
  <?php print $setting_styles; ?>
  <!--[if IE 8]>
  <?php print $ie8_styles; ?>
  <![endif]-->
  <!--[if IE 7]>
  <?php print $ie7_styles; ?>
  <![endif]-->
  <!--[if lte IE 6]>
  <?php print $ie6_styles; ?>
  <![endif]-->
  <?php print $local_styles; ?>
  <?php print $scripts; ?>
</head>

<body id="<?php print $body_id; ?>" class="<?php print $body_classes; ?>">
  <div id="page" class="page">
    <div id="page-inner" class="page-inner">
      <div id="skip">
        <a href="#main-content-area"><?php print t('Skip to Main Content Area'); ?></a>
      </div>

      <!-- header-top row: width = grid_width -->
      <?php if ($header_top || $secondary_links || $search_box): ?>
      <div id="header-top-wrapper" class="header-top-wrapper full-width">
        <div id="header-top" class="<?php if ($search_box): ?>header-top-search<?php endif; ?> header-top row <?php print $grid_width; ?>">
          <div id="header-top-inner" class="header-top-inner inner clearfix">
            <?php print theme('grid_row', $header_top, 'header-top-region', 'full-width', $grid_width); ?>
            <?php print theme('grid_block', theme('links', $secondary_links), 'secondary-menu'); ?>
            <?php print theme('grid_block', $search_box, 'search-box'); ?>
            <?php if ($header_top && !$secondary_links && $search_box): ?><div id="header-top-placeholder"></div><?php endif; ?>
          </div><!-- /header-top-inner -->
        </div><!-- /header-top -->
      </div><!-- /header-top-wrapper -->
      <?php endif; ?>

      <!-- header-group row: width = grid_width -->
      <div id="header-group-wrapper" class="header-group-wrapper full-width">
        <div id="header-group" class="header-group row <?php print $grid_width; ?>">
          <div id="header-group-inner" class="header-group-inner inner clearfix">
            <?php if ($logo || $site_name || $site_slogan): ?>
            <div id="header-site-info" class="header-site-info block">
              <div id="header-site-info-inner" class="header-site-info-inner inner clearfix">
                <?php if ($logo): ?>
                <div id="logo">
                  <a href="<?php print check_url($front_page); ?>" title="<?php print t('Home'); ?>"><img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" /></a>
                </div>
                <?php endif; ?>
                <?php if ($site_name || $site_slogan): ?>
                <div id="site-name-slogan" class="site-name-slogan">
                  <?php if ($site_name): ?>
                  <span id="site-name"><a href="<?php print check_url($front_page); ?>" title="<?php print t('Home'); ?>"><?php print $site_name; ?></a></span>
                  <?php endif; ?>
                  <?php if ($site_slogan): ?>
                  <span id="slogan"><?php print $site_slogan; ?></span>
                  <?php endif; ?>
                </div>
                <?php endif; ?>
              </div><!-- /header-site-info-inner -->
            </div><!-- /header-site-info -->
            <?php endif; ?>
            <?php print $header; ?>
          </div><!-- /header-group-inner -->
        </div><!-- /header-group -->
      </div><!-- /header-group-wrapper -->

      <!-- primary-menu row: width = grid_width -->
      <div id="header-primary-menu-wrapper" class="header-primary-menu-wrapper full-width">
        <div id="header-primary-menu" class="header-primary-menu row <?php print $grid_width; ?>">
          <div id="header-primary-menu-inner" class="header-primary-menu-inner inner clearfix">
            <?php print theme('grid_block', $primary_links_tree, 'primary-menu'); ?>
          </div><!-- /header-primary-menu-inner -->
        </div><!-- /header-primary-menu -->
      </div><!-- /header-primary-menu-wrapper -->

      <!-- preface-top row: width = grid_width -->
      <?php print theme('grid_row', $preface_top, 'preface-top', 'full-width', $grid_width); ?>

      <!-- main row: width = grid_width -->
      <div id="main-wrapper" class="main-wrapper full-width">
        <div id="main" class="main row <?php print $grid_width; ?>">
          <div id="main-inner" class="main-inner inner clearfix">
            <?php print theme('grid_row', $sidebar_first, 'sidebar-first', 'nested', $sidebar_first_width); ?>

            <!-- main group: width = grid_width - sidebar_first_width -->
            <div id="main-group" class="main-group row nested <?php print $main_group_width; ?>">
              <div id="main-group-inner" class="main-group-inner inner">
                <?php print theme('grid_row', $preface_bottom, 'preface-bottom', 'nested'); ?>

                <div id="main-content" class="main-content row nested">
                  <div id="main-content-inner" class="main-content-inner inner">
                    <!-- content group: width = grid_width - (sidebar_first_width + sidebar_last_width) -->
                    <div id="content-group" class="content-group row nested <?php print $content_group_width; ?>">
                      <div id="content-group-inner" class="content-group-inner inner">
                        <?php print theme('grid_block', $breadcrumb, 'breadcrumbs'); ?>

                        <?php if ($content_top || $help || $messages): ?>
                        <div id="content-top" class="content-top row nested">
                          <div id="content-top-inner" class="content-top-inner inner">
                            <?php print theme('grid_block', $help, 'content-help'); ?>
                            <?php print theme('grid_block', $messages, 'content-messages'); ?>
                            <?php print $content_top; ?>
                          </div><!-- /content-top-inner -->
                        </div><!-- /content-top -->
                        <?php endif; ?>

                        <div id="content-region" class="content-region row nested">
                          <div id="content-region-inner" class="content-region-inner inner">
                            <a name="main-content-area" id="main-content-area"></a>
                            <?php print theme('grid_block', $tabs, 'content-tabs'); ?>
                            <div id="content-inner" class="content-inner block">
                              <div id="content-inner-inner" class="content-inner-inner inner">
                                <?php if ($title): ?>
                                <h1 class="title"><?php print $title; ?></h1>
                                <?php endif; ?>
                                <?php if ($content): ?>
                                <div id="content-content" class="content-content">
                                  <?php print $content; ?>
                                  <?php print $feed_icons; ?>
                                </div><!-- /content-content -->
                                <?php endif; ?>
                              </div><!-- /content-inner-inner -->
                            </div><!-- /content-inner -->
                          </div><!-- /content-region-inner -->
                        </div><!-- /content-region -->

                        <?php print theme('grid_row', $content_bottom, 'content-bottom', 'nested'); ?>
                      </div><!-- /content-group-inner -->
                    </div><!-- /content-group -->

                    <?php print theme('grid_row', $sidebar_last, 'sidebar-last', 'nested', $sidebar_last_width); ?>
                  </div><!-- /main-content-inner -->
                </div><!-- /main-content -->

                <?php print theme('grid_row', $postscript_top, 'postscript-top', 'nested'); ?>
              </div><!-- /main-group-inner -->
            </div><!-- /main-group -->
          </div><!-- /main-inner -->
        </div><!-- /main -->
      </div><!-- /main-wrapper -->

      <!-- postscript-bottom row: width = grid_width -->
      <?php print theme('grid_row', $postscript_bottom, 'postscript-bottom', 'full-width', $grid_width); ?>

      <!-- footer row: width = grid_width -->
      <?php print theme('grid_row', $footer, 'footer', 'full-width', $grid_width); ?>

      <!-- footer-message row: width = grid_width -->
      <div id="footer-message-wrapper" class="footer-message-wrapper full-width">
        <div id="footer-message" class="footer-message row <?php print $grid_width; ?>">
          <div id="footer-message-inner" class="footer-message-inner inner clearfix">
            <?php print theme('grid_block', $footer_message, 'footer-message-text'); ?>
          </div><!-- /footer-message-inner -->
        </div><!-- /footer-message -->
      </div><!-- /footer-message-wrapper -->

    </div><!-- /page-inner -->
  </div><!-- /page -->
  <?php print $closure; ?>
</body>
</html>

К сожалению, не смог разобраться как правильно изменить код, после правок теряется связность меню (родительский пункт перестает быть активным при нажатии на дочерний).

Комментарии

Аватар пользователя pouldenton pouldenton 11 ноября 2010 в 0:39

Этот шаблон весьма популярен и вполне возможно, что у разработчиков просто другой взгляд на этот вопрос, они просто не посчитают это проблемой. Поэтому и прощу помощи сообщества, т.к. моих знаний, к сожалению, не хватило для исправления ситуации.

Аватар пользователя Андрюха Андрюха 17 декабря 2011 в 23:21

Здравствуйте!

Я пользуюсь темой Acquia Prosper для Drupal 6. Хочу спросить, можно ли в Acquia Prosper отобразить таблицу с продукцией? Я занимаюсь продажей кондиционеров. К примеру: кликнешь на Mitsubishi Electric, появляется таблица подобной ниже. Если можно подскажите как это сделать? Что для этого нужно? Заранее спасибо!

Модель Производит-ть Размер Мощность Шум Цена

T09H-SJ 2,65 3,52 770×283×201 0,8 0,95 24 $765
T12H-SJ 3,53 4,1 770×283×201 1,1 1,14 25 $838
T18H-SJ 5,3 5,7 865×305×215 1,6 1,58 32 $1 195
T24H-SJ 6,45 7 1008×319×221 1,99 1,9 32 $1 371

Аватар пользователя Андрюха Андрюха 17 декабря 2011 в 23:21

Здравствуйте!

Я пользуюсь темой Acquia Prosper для Drupal 6. Хочу спросить, можно ли в Acquia Prosper отобразить таблицу с продукцией? Я занимаюсь продажей кондиционеров. К примеру: кликнешь на Mitsubishi Electric, появляется таблица подобной ниже. Если можно подскажите как это сделать? Что для этого нужно? Заранее спасибо!

Аватар пользователя enemis enemis 18 декабря 2011 в 1:01

"Андрюха" wrote:
Я пользуюсь темой Acquia Prosper для Drupal 6. Хочу спросить, можно ли в Acquia Prosper отобразить таблицу с продукцией? Я занимаюсь продажей кондиционеров. К примеру: кликнешь на Mitsubishi Electric, появляется таблица подобной ниже. Если можно подскажите как это сделать? Что для этого нужно? Заранее спасибо!
Есть 3 варианта решения проблемы.
1. Засесть месяцок - другой за форумы, видеоуроки, понять основы друпал, основы бд, apache, потом сделать свою первую тему, модуль, сайт - постоянно решая какие то проблемы, находить решения итд. Потом начать писать свой сайт. Задавая уже адекватные вопросы. Т. к. здесь очень много профи, шанс что ответят или натолкнут на мысль очень велик. Дальше продавать кондиционеры имея свой, сайт, радоваться жизни.

2.Путь поступить в институт на факультет программирования(можно заочно[платит за предметы нельзя!]). Выучить основы программирования, алгоритмизации, базы данных. Закончить универ получить диплом. Написать свой сайт продавать кондиционеры радоваться жизни.

3. Путь написать ТЗ заплатить программистам которые сделают вам сайт, оттестируют выложат на продакшн, научат пользоваться админкой, ну и через 2 -4 недели радоваться жизни и продавать кондиционеры используя современные технологии.

ЗЫ: к чему это я, а к тому что тема сайта для друпал всего лишь описание стилей отображения базовых частей и блоков(меню, списки заголовки, страницы и пр), и друпал с коробки очень мало функционален сам по себе,но он имеет очень мощную АPI, и на базе нее написано множество модулей выполняющих какую либо роль, в функционировании сайтов.

Аватар пользователя Андрюха Андрюха 18 декабря 2011 в 18:24

enemis, подскажите пожалуйста. Хочу отредактировать тему Acquia Prosper для Drupal 6, но в папке темы acquia_prosper html-кода я не вижу. где находится html-код от данной темы?

Аватар пользователя enemis enemis 18 декабря 2011 в 23:58

drupal использует шаблонизатор phptemplate по умолчанию. файл php.tpl почти ваш html только со вставками php кода. Это нужно для придания страницам динамичного содержания, и для наследования принципов паттерна проектирования MVC он же модель-контроллер-представление. так вот условно можно сказать что ядро это модель, контроллер это большинство хуков а представление это ваш php.tpl. Не вникли вы в предыдущий мой коммент.