Jump to content


Photo
- - - - -

Дополнительные вопросы по табличному выводу каталога

табличный вывод

  • This topic is locked This topic is locked
7 replies to this topic

#1 RDG

RDG
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 23 November 2013 - 18:21

Уважаемые товарищи! Прошу вашей помощи в создании сайта, а именно проектирования каталога.

У меня стоит задача сделать вывод каталога в таблице, а внутреннюю составляющую конкретного материала - как обычно.

Как должна выглядеть таблица каталога?

Таблица.jpg
 
Как она выглядит у меня сейчас?
моё.JPG
 
Как должна выглядеть внутренняя страница товара каталога?
 
Сайт по ссылке мой и я могу оттуда вытащить любой php файл.
 
Теперь проблемы с которыми я столкнулся.
1. Как я могу добавить в последнюю колонку кнопку добавления к сравнению? Ведь в обычном тизере она есть по идее, а этот тизер просто табличный, а значит и кнопку так же можно вывести там где нужно. А под таблицей вывести кнопку Сравнить, которая и выполнит сравнение и перекинет в шаблон сравнения всего что было выбрано. Кстати, а где этот шаблон настраивается? Это одна из самых важных функций по мнению заказчика и я просто не могу её не вывести, умоляю помочь тут.
2. У меня огромнейший каталог. Всего около 20 категорий. Я планирую создать один тип материала на все виды техники (у меня сайт пилами, косилками, вобщем всё для сада как бы), но различающиеся категорией. У всех них разные наборы свойств и значений по идее (ну у пилы например тип цепи и шаг цепи, а у газонокосилки - свои свойства). Значит ли это, что я не смогу этого сделать - т.е. создать один тип материала, по одной простой причине - у каждого типа товара будет свой набор полей в тизере, а это мы задаём ручками в php, аа не автоматически из админки как то. То есть верно ли моё утверждение: у меня не получится при наличии 20 категорий товаров сделать только один тип элемента общий с набором всех всех свойств и значений (заказчик согласен был на эту солянку) по той причине, что вывод тизера, а именно названия и состав столбцов я буду настраивать вручную для каждого и они не будут никак автоматом подтягиваться.
2.а Если это утверждение верно, то верно ли второе: для того что бы создать эту кучу материалов, я просто должен скопировать уже созданный тип материала table-item (созданный по инструкции "Табличный вывод материала")?
3. У меня почему то при входе в товар получается вот такая вот фигня, то есть показывается только картинка и всё, больше ничего
внутри.JPG
При чём изначально там была табличка с теми же данными, но мне нужно что бы там было как по вышеуказанной ссылке. Что я сделал, я влез в свой тот сайт, вытащил full.php из одного из типов полей (бюстгалтеры, но это не имеет значения), вставил и получил вот такую фигню... Явно, что я тут что то не то скопировал, подскажите пожалуйста, а что я мог забыть и что не правильно скопировал.
 
Благодарю Вас за помощь!

Edited by RDG, 23 November 2013 - 18:22.

  • 0

#2 RDG

RDG
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 23 November 2013 - 19:22

Сидел тут ковырялся, вот что получил:

Первое, настроил вывод таблицы, пока без настройки css.

1.JPG

Скажите пожалуйста, можно ли как то сделать добавление к сравнению галочкой? Я так думаю нет, и лучше нам дизайн слегка переработать на две кнопки. по мне так и так хорошо, ну только слегка переименовать и с css поиграть, но боюсь что заказчик будет требовать полное соответствие макету.

 

Второе, настроил шаблон full в админке, вставил всё, что мне нужно в нужные места, заполнил все поля у одного материала

3.JPG

 

И получил... ничего не получил

2.JPG


  • 0

#3 RDG

RDG
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 23 November 2013 - 19:34

И ещё у меня вопрос по поводу пункта 5 рецепта по созданию табличного вывода http://forum.jbzoo.c...taloga-v-jbzoo/

 

Тут говорится что надо сделать файл table-app.php и в него воткнуть те поля, которые я хочу видеть в таблице. Но стоп, это что получается, у меня 20 категорий и значит должно быть 20 каталогов со своими наборами этих полей??? Ну это же вообще крах... То есть в один каталог завести весь товар не получится???


  • 0

#4 i001

i001
  • JBZoo User (rus)
  • User rate: 46.4
  • posts: 972
  • topics: 76

Posted 23 November 2013 - 19:37

сделать можно все что угодно. По галочкам сегодня как раз делал тупо на css если знаете как пользоваться файрбугом то думаю разберетесь

http://testmpg.ru/home/planshety

По full единственное что приходит в голову так это посмотреть файл full.php.

 

table-app.php создается именно под каталог, если у вас поля в товарах одинаковые то вам хватит и одного каталога. 


  • 0

#5 RDG

RDG
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 23 November 2013 - 20:29

сделать можно все что угодно. По галочкам сегодня как раз делал тупо на css если знаете как пользоваться файрбугом то думаю разберетесь

http://testmpg.ru/home/planshety

По full единственное что приходит в голову так это посмотреть файл full.php.

 

table-app.php создается именно под каталог, если у вас поля в товарах одинаковые то вам хватит и одного каталога. 

 

Вот мой full.php ума не приложу почему нормально не выводит.

<?php

defined('_JEXEC') or die('Restricted access');


$align = $this->app->jbitem->getMediaAlign($item, $layout);
$tabsId = uniqid('jbzoo-tabs-');

echo $this->renderPosition('title', array('style' => 'jbtitle'));
echo $this->renderPosition('subtitle', array('style' => 'jbsubtitle'));
echo $this->renderPosition('likes', array('style' => 'jbblock', 'class' => 'align-left'));
echo $this->renderPosition('rating', array('style' => 'jbblock', 'class' => 'align-right'));

?>
<div class="clear clr"></div>

<div class="rborder item-body">

    <?php if ($this->checkPosition('image')) : ?>
        <div class="item-image align-<?php echo $align; ?>"><?php echo $this->renderPosition('image'); ?></div>
    <?php endif; ?>

    <?php if ($this->checkPosition('anons')) : ?>
        <div class="item-anons"><?php echo $this->renderPosition('anons'); ?></div>
    <?php endif; ?>

    <?php if ($this->checkPosition('meta')) : ?>
        <hr/>
        <div class="item-meta">
            <?php echo $this->renderPosition('meta', array('style' => 'jbblock', 'labelTag' => 'strong', 'tag' => 'p')); ?>
        </div>
    <?php endif; ?>
    <div class="clear clr"></div>
</div>

<?php if ($this->checkPosition('social')) : ?>
    <?php echo $this->renderPosition('social', array('style' => 'jbblock')); ?>
<?php endif; ?>

<div class="clear clr"></div>

<?php if ($this->checkPosition('tab-text')
    || $this->checkPosition('tab-gallery')
    || $this->checkPosition('tab-properties')
    || $this->checkPosition('tab-reviews')
    || $this->checkPosition('tab-comments')
) :

    $positionParams = array(
        'style'    => 'jbblock',
        'tag'      => 'div',
        'labelTag' => 'h3',
        'clear'    => true
    );

    ?>
    <div id="<?php echo $tabsId; ?>" class="rborder">
        <ul>
            <?php if ($this->checkPosition('tab-text')) : ?>
                <li>
                    <a href="#tab-text"><?php echo JText::_('JBZOO_ITEM_TAB_DESCRIPTION'); ?></a>
                </li>
            <?php endif; ?>

            <?php if ($this->checkPosition('tab-properties')) : ?>
                <li>
                    <a href="#tab-properties"><?php echo JText::_('JBZOO_ITEM_TAB_PROPS'); ?></a>
                </li>
            <?php endif; ?>

            <?php if ($this->checkPosition('tab-gallery')) : ?>
                <li>
                    <a href="#tab-gallery"><?php echo JText::_('JBZOO_ITEM_TAB_GALLERY'); ?></a>
                </li>
            <?php endif; ?>

            <?php if ($this->checkPosition('tab-reviews')) : ?>
                <li>
                    <a href="#tab-reviews"><?php echo JText::_('JBZOO_ITEM_TAB_REVIEWS'); ?></a>
                </li>
            <?php endif; ?>

            <?php if ($this->checkPosition('tab-comments')) : ?>
                <li>
                    <a href="#tab-comments"><?php echo JText::_('JBZOO_ITEM_TAB_COMMENTS'); ?>
                        (<?php echo $item->getCommentsCount(); ?>)</a>
                </li>
            <?php endif; ?>
        </ul>

        <?php if ($this->checkPosition('tab-text')) : ?>
            <div id="tab-text"><?php echo $this->renderPosition('tab-text', $positionParams); ?></div>
        <?php endif; ?>

        <?php if ($this->checkPosition('tab-properties')) : ?>
            <div id="tab-properties">
                <table class="jbtable table zebra">
                    <?php echo $this->renderPosition('tab-properties', array('style' => 'jbtable')); ?>
                </table>
            </div>
        <?php endif; ?>

        <?php if ($this->checkPosition('tab-gallery')) : ?>
            <div id="tab-gallery"><?php echo $this->renderPosition('tab-gallery', $positionParams); ?></div>
        <?php endif; ?>

        <?php if ($this->checkPosition('tab-reviews')) : ?>
            <div id="tab-reviews"><?php echo $this->renderPosition('tab-reviews', $positionParams); ?></div>
        <?php endif; ?>

        <?php if ($this->checkPosition('tab-comments')) : ?>
            <div id="tab-comments"><?php echo $this->renderPosition('tab-comments', $positionParams); ?></div>
        <?php endif; ?>
    </div>

    <?php $this->app->jbassets->tabs(); ?>
    <script type="text/javascript">
        jQuery(function ($) {
            $('#<?php echo $tabsId;?>').JBZooTabs({
                onTabShow: function (index) {
                    var map = $('.googlemaps > div:first');
                    if (map.length) {
                        map.data('Googlemaps').refresh();
                    }
                }
            });
        });
    </script>

<?php endif; ?>

<?php echo $this->renderPosition('related', array('style' => 'jbblock', 'labelTag' => 'h2', 'clear' => true)); ?>

В том то и дело что поля разные, то что надо делать кучу каталогов это вообще пичалька, это если какое то мелкое изменение и всё, хана, надо везде менять одно и тоже 150 раз. Неужели нельзя как то по условию подключать какой то определённый table-app? например сделать их 10 штук и по какому то условию подключать нужный файл в зависимости от категории или пункта меню

 

по поводу галочек, да в принципе я представляю как это сделать, но не уловил как сделать "нажатую" галочку не отдельной кнопкой а той же на том же месте, если вы меня правильно поняли)


Edited by RDG, 23 November 2013 - 20:31.

  • 0

#6 i001

i001
  • JBZoo User (rus)
  • User rate: 46.4
  • posts: 972
  • topics: 76

Posted 24 November 2013 - 09:18

По таблицам можно сделать по условиям, если не ошибаюсь была даже тема на форуме по этому поводу, где написано как сделать.

По галочкам на примере который я вам дал сделано через css. Т.е. есть одна картинка, в которой 2 галочки, пустая и нажатая. 

 

в css 

.wrapper-jbcompare .jsCompareToggle {
    cursor: pointer;
    background: url(../images/sprite.png) -118px 0 no-repeat;
    overflow: hidden;
    margin: 0;
    padding-left: 24px;
    height: 13px;
    display: inline-block;
}

где    background: url(../images/sprite.png) -118px 0 no-repeat;    это пустая галочка.

и еще в css

.active-compare .jsCompareToggle {
    background-position: -118px -13px;
    display: inline-block;
}

где     background-position: -118px -13px;    нажатая галочка


  • 1

#7 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 28 November 2013 - 15:24

RDG, вопрос решен?


  • 0
Изображение
 

#8 RDG

RDG
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.5
  • posts: 296
  • topics: 88

Posted 28 November 2013 - 17:01

RDG, вопрос решен?

Да, всё нормально


  • 0





Also tagged with one or more of these keywords: табличный вывод

Click to return to top of page in style!