26

Re: Каталог

я уже дорабатываю свой smile с учетом данных шорткодов.

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

27

Re: Каталог

а вообще по коду - нужно проделать там еще много работы.

Например все новые lang обозначения написаны сразу на русском а не вынесены в файл.

Это не говоря о прочем спагетти коде.

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

28

Re: Каталог

все новые lang обозначения написаны сразу на русском а не вынесены в файл

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

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

29

Re: Каталог

Поставил плагин.. потыкался...
- Картинку можно добавлять только после создания каталога и продукта ( не удобно и логики я не понял )
- Нету превью картинки при добавлении
- Вмешается около 150 символов в дизайн продукта при отображении на сайте нужно тогда ввести какое то ограничение в админки на ввод символов...
- Цена в настройках $, но при вводе 15 $ пишет не в долларах а в гривнях о_О

Предлы:
-> Изменить ссылку в каталоге картинки на ссылку во внутрь каталога а не увеличение фотографии...
-> Добавить более расширенную работу с товаром, чтобы был список товаров но при клике на определённый товар открывался только он с доп инфой, с большим количеством фоток\описанием\ можно будет даже туда прикрутить комменты со сторонних ресурсов


п\с спасибо за плагин smile

(c) RomanArt
Создание дизайнов любой сложности для Monstra cms

Поделиться

30

Re: Каталог

sergeyterr пишет:

отображения отдельного элемента в следующей версии реализую.

Доработайте пожалуйста отображение отдельного элемента.

Спасибо!

Поделиться

31

Re: Каталог

- Картинку можно добавлять только после создания каталога и продукта ( не удобно и логики я не понял )

я дорабатывал плагин - а в нем функционально было реализовано так, что возможность добавления фото появлялась после сохранения товара, переделывать не хотелось - плагин простой

Нету превью картинки при добавлении

принцип тот же, что и в коробочном файловом менеджере, там тоже нет превьюхи. Опять таки плагин делал под заказчика и переделывать не было времени и возможности.

Цена в настройках $, но при вводе 15 $ пишет не в долларах а в гривнях о_О

Там еще и курс есть, а во фронте отображается уже по курсу, такая была задача - в базе хранить цены в долларах и чтобы во фронте цена менялась при смене курса но была в гривнах. Валюту во фронте менять не сложно.

Изменить ссылку в каталоге картинки на ссылку во внутрь каталога а не увеличение фотографии...

Это будет реализовано в следующей версии по желанию трудящихся.

Добавить более расширенную работу с товаром, чтобы был список товаров но при клике на определённый товар открывался только он с доп инфой, с большим количеством фоток\описанием\ можно будет даже туда прикрутить комменты со сторонних ресурсов

неплохо бы поподробнее написать какие именно доп свойства прикрутить.

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

32

Re: Каталог

Здравствуйте... Нужна помощь! тяжело объяснить, голова уже плохо соображает, будет много букаф, но попробую...

На входе имеется данный плагин и скрипт на открытие модального окна:
http://jemand.ru/modalnoe-okno-na-jquery/

Так как у данного плагина нету вывода отдельного элемента, решил сделать его вывод в модальном окне прямо с каталога... в которое подсовывается description, да и все что душе угодно...

Все бы было хорошо, но модальное окно любого элемента открывается с description первого, что и не удивительно, name у все ссылок a был одинаковый...
В стандарте cat.view.php плагина от sergeyterr эта ссылка открывала изображение с каталога, что было переписано на открытие модального окна и задание уникального атрибута name каждого элемента:

<?php
    Catalog::$meta['title'] = Notification::get('title');
    if (Notification::get('error'))    Alert::error(Notification::get('error'));
    else {
        $id=1;
        foreach($records as $row):
?>
    <div style="display:block; float:left; width:<?php echo ((Option::get('catalog_w'))*0.05+(Option::get('catalog_w'))); ?>px; height: 315px; margin-right:15px; margin-bottom:15px; text-align:center">
    <?php
        if ($opt["title"] == 0)
        {
            echo "<div id=\"eternum-item-title\">".$row['title']."</div>";
        }
    ?>
    <?php if (file_exists(ROOT . DS . 'public' . DS .'catalog' . DS . $opt["cat_id"] . DS . $row['id'] . '_t.jpg')) { ?>
    <a href="#dialog" name="modal<?php echo $id++;?>"> ...

Вообщем после этого у нас есть каждый элемент каталога с ссылкой, у которой name формата modal$id+1 т.е. modal1, modal2, modal3.... modal++

скрипт открытия модального окна по дефалту

$(document).ready(function() {
    $('a[name=modal]').click(function(e) {
...

в котором и задается дальнейшее содержимое модального окна с атрибутом name="modal"

написал ('подсмотрел и переделал') скрипт, в котором получаю name ссылки элемента:

        
var Name = $('.name').attr('name');
        $("a").click(function() {
            var name = $(this).attr("name");
               alert(name);

alert() выводит правильное значение, все нормально....

А теперь внимание, господа знатоки, /что в черном ящике/ как мне подставить

var Name

в

$('a[name=modal]').click(function(e) {

вот что имеется на данный момент в  cat.view.php

<div id="collection-item">
<?php
    Catalog::$meta['title'] = Notification::get('title');
    if (Notification::get('error'))    Alert::error(Notification::get('error'));
    else {
        $id=1;
        foreach($records as $row):
?>
    <div style="display:block; float:left; width:<?php echo ((Option::get('catalog_w'))*0.05+(Option::get('catalog_w'))); ?>px; height: 315px; margin-right:15px; margin-bottom:15px; text-align:center">
    <?php
        if ($opt["title"] == 0)
        {
            echo "<div id=\"eternum-item-title\">".$row['title']."</div>";
        }
    ?>
    <?php if (file_exists(ROOT . DS . 'public' . DS .'catalog' . DS . $opt["cat_id"] . DS . $row['id'] . '_t.jpg')) { ?>
    <a href="#dialog" name="modal<?php echo $id++;?>">
        <img class="
        <?php 
        if (Page::slug() == 'eternum'){
            echo 'eternum';
            }
        elseif (Page::slug() == 'eternum-signature'){
            echo 'eternum-signature';
            }
        elseif (Page::slug() == 'eternum-gastronum'){
            echo 'eternum-gastronum';
            }
        ?>" alt="" style="margin:auto; max-height:<?php echo Option::get('catalog_w'); ?>px;" src="<?php echo $opt['url'].$opt["cat_id"].'/'.$row['id'].'_t.jpg' ?>"/></a>
        <div id="boxes">
            <div id="dialog" class="window">
                <?php
                    if ($opt["desc"] == 0)
                    {
                        echo "<div class=\"desc text-center\">".Text::toHtml(File::getContent($opt["storage"] . $opt["cat_id"] . DS. $row['id'] . '.catalog.txt'))."</div>";
                    }
                ?>
            </div>
            <span><a href="#" class="close"/>Закрыть его</a>
            </div>
        </div>
                <?php
        if (Page::slug() == 'eternum'){
            echo '<div id="eternum-item-bg"></div>';
            }
        elseif (Page::slug() == 'eternum-signature'){
            echo '<div id="signature-item-bg"></div>';
            }
        elseif (Page::slug() == 'eternum-gastronum'){
            echo '<div id="gastronum-item-bg"></div>';
            }
        ?>
    
    <?php } else { ?>
    <a href="<?php echo Option::get('siteurl') . 'public/catalog/dsc_empty.jpg'; ?>">
        
        <img class="img-polaroid" style="max-width:<?php echo (Option::get('catalog_w')); ?>px;" src="<?php echo Option::get('siteurl') . 'public/catalog/dsc_empty.jpg'; ?>" />
    </a>
    <?php
    }
    if ($opt["price"] == 0)
    {
        if(Session::get('user_id')){
        $price = $row['price'] * Option::get('kurs');
        echo "<div class=\"price\">".$price." грн.</div>";
        }
    }
    ?>
    
</div>
<?php

        endforeach;
    }
?>
<div style="clear:both"></div>

<div id="news-paginator"><?php Catalog::paginator($opt['current_page'], $opt['pages_count'], $opt['site_url'].'catalog/'.$opt["slug"] . '/');?></div>
</div>

и само модальное окно

        $(document).ready(function() {
        var Name = $('.name').attr('name');
        $("a").click(function() {
               var name = $(this).attr("name");
               alert(name);
            
        $('a[name=????????]').click(function(e) {
            e.preventDefault();
            var id = $(this).attr('href');
            var maskHeight = $(document).height();
            var maskWidth = $(window).width();
            $('#mask').css({'width':maskWidth,'height':maskHeight});
            $('#mask').fadeIn(1000);
            $('#mask').fadeTo("slow",0.8);
            var winH = $(window).height();
            var winW = $(window).width();
            $(id).css('top', '5%');                              
            $(id).css('left', '10%');
            $(id).fadeIn(2000);
        });
        $('.window .close').click(function (e) {
            e.preventDefault();
            $('#mask, .window').hide();
        });
        $('#mask').click(function () {
            $(this).hide();
            $('.window').hide();
        });
    });
});

Всем спасибо если хотя бы прочитаете все это...

Поделиться

33

Re: Каталог

Всем спасибо, вопрос решен собственными силами..:)

Поделиться

34

Re: Каталог

Всем привет. Сразу скажу, что на языке php работать не умею.

Возникла необходимость добавить в данный каталог старую цену, решил поступить тупо: накопировал все строчки, где прописано price, изменив на oldprice. Получилось примерно так:

catalog.plugin.php

            $oldprice = (isset($oldprice)) ? (int)$oldprice : 0;
            $desc = (isset($desc)) ? (int)$desc : 0;
                        return Catalog::getItems($uid, $count, $title, $price, $oldprice, $desc, $img);
            $opt["price"] = $price;
            $opt["oldprice"] = $oldprice;
        public static function getCatalog($id=0, $count=6, $title=0, $price=0, $oldprice=0, $desc=0, $img=0, $sort='id', $display=true){
            $records_all = $items->select('[catalog="'.$id.'"]', 'all', null, array('id','title','price','oldprice','currency'));

catalog.admin.php

$records_all = $cat_items->select('[catalog="'.$id.'"]', 'all', null, array('name', 'price', 'oldprice', 'title', 'h1', 'description', 'keywords', 'slug', 'date', 'author', 'status', 'catalog', 'hits'));
                    $post['price']        = (Request::post('catalog_price'))       ? Request::post('catalog_price')       : '';
                    $post['oldprice']     = (Request::post('catalog_oldprice'))    ? Request::post('catalog_oldprice')    : '';
                                    'price'        => Request::post('catalog_price'),
                                    'oldprice'     => Request::post('catalog_oldprice'),

Скопировал не все строчки, конечно, но примерно ясно. Также прописал в языковом файле. Кажется, что проблема заключается в cat.view.php, поскольку просто скопировать там нельзя .

    <?php
    }
    if ($opt["price"] == 0)
    {
        $price = $row['price'] * Option::get('kurs');
        echo "<h6>".$price." руб.</h6>";
    }
    ?>
    <?php
    }
    if ($opt["oldprice"] == 0)
    {
        $price = $row['oldprice'] * Option::get('kurs');
        echo "<h6>".$oldprice."</h6>";
    }
    ?>

Поделиться

35

Re: Каталог

третья и четвертая снизу

        $price = $row['oldprice'] * Option::get('kurs');
        echo "<h6>".$oldprice."</h6>";

В этом случае Вы определяете $price, а выводите $oldprice

как я понимаю должно быть:

$oldprice = $row['oldprice'] * Option::get('kurs');
echo "<h6>".$oldprice."</h6>";

А так же в xml файле с базой каталога следуетопределить поле oldprice.

Ex ungue leonem

Поделиться

36

Re: Каталог

И седьмая снизу, лишняя фигурная скобка. В полях для price она относится к предыдущей конструкции и при повторении в виде oldprice ее быть не должно, так как предыдущую конструкцию вы не повторяете.

<?php

    if ($opt["oldprice"] == 0)
    {
        $oldprice = $row['oldprice'] * Option::get('kurs');
        echo "<h6>".$oldprice."</h6>";
    }

    ?>

И повторюсь не забудьте в базу xml данного плагина в папке баз системы определить поле oldprice.

Ex ungue leonem

Поделиться

37

Re: Каталог

Faust, благодарю за помощь, только я, во-первых, не совсем понял, от какой фигурной скобки следует избавиться? Во-вторых, в каком файле БД нужно прописывать oldprice? И нужно прописать в одном месте или нужно будет прописывать у каждой позиции? Каталог в принципе уже заполнен. sad

Поделиться

38

Re: Каталог

нужно обновить текущую БД, чтобы там было требуемое поле.

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

39

Re: Каталог

от какой фигурной скобки следует избавиться

Должно быть так:

   <?php
    }
    if ($opt["price"] == 0)
    {
        $price = $row['price'] * Option::get('kurs');
        echo "<h6>".$price." руб.</h6>";
    }
    ?>
    <?php
    
    if ($opt["oldprice"] == 0)
    {
        $$oldprice = $row['oldprice'] * Option::get('kurs');
        echo "<h6>".$oldprice."</h6>";
    }
    ?>

Во-вторых, в каком файле БД нужно прописывать oldprice? И нужно прописать в одном месте или нужно будет прописывать у каждой позиции?

В папке баз данных Monstra плагином создается файл базы конкретного плагина. Открываете этот файл (он схож с названием плагина) в текстовом редакторе (я использую nodepad++) и в начале где определяются поля добавить </oldprice> или как-то так по ангиологии с определением поля price. Убедитесь что после добавления Вы сохраняете файл в кодировке UFT-8 без BOM. Далее в этом файле уже для каждой позиций делать это не обязательно, это поле добавиться к позициям автоматически при редактировании и/или пере сохранении позиции.

Ex ungue leonem

Поделиться

40

Re: Каталог

P.S. Невозможность редактировать сообщения усложняет некоторые вещи. Наверху у меня ошибка (двойное $$)

от какой фигурной скобки следует избавиться

Должно быть так:

   <?php
    }
    if ($opt["price"] == 0)
    {
        $price = $row['price'] * Option::get('kurs');
        echo "<h6>".$price." руб.</h6>";
    }
    ?>
    <?php
    
    if ($opt["oldprice"] == 0)
    {
        $oldprice = $row['oldprice'] * Option::get('kurs');
        echo "<h6>".$oldprice." руб.</h6>";
    }
    ?>
Ex ungue leonem

Поделиться

41

Re: Каталог

Всем спасибо, но ничего не получилось. sad

Поделиться

42

Re: Каталог

В шаблоне админ плагина добавили возможность введения этого поля? Скорей всего есть еще ошибки или где-то незакрытый тег, или может что-то пропущено. В идеале попробуйте в неустановленном каталоге на чистой монстре.

Ex ungue leonem

Поделиться

43

Re: Каталог

В неустановленном каталоге в файле /install/catalog.install.php меняете строку 16 с

Table::create('cat_items', array('title', 'price', 'currency', 'h1', 'description', 'keywords', 'slug', 'date', 'author', 'status', 'catalog', 'hits'));

на

Table::create('cat_items', array('title', 'price', 'oldprice', 'currency', 'h1', 'description', 'keywords', 'slug', 'date', 'author', 'status', 'catalog', 'hits'));

после этого устанавливаете плагин. У вас в базе появится поле oldprice. После этого можно с ним работать, читать записывать в него выводить в шаблон и т.д.

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

44

Re: Каталог

Всем здравствуйте!

А как сделать чтоб категории в каталоге (на главной странице) не отображались, мешают.

Поделиться

45

Re: Каталог

в каталоге /plugins/catalog/views/frontend/index.view.php
10 -11 -12 строка

        <h5>
    <?
        echo $dob['title'] . "</h5>" ;

меняете на

<?
Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

46

Re: Каталог

Большое Спасибо! Без категорий значительно лучше.
Может Вы при дальнейшем развитии этого проекта отображение категорий как опцию сделаете.

Поделиться

47

Re: Каталог

качайте версия 1.0.5
много разных исправлений и улучшений, значительная часть благодаря замечаниям RomanArt

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

48

Re: Каталог

sergeyterr пишет:

качайте версия 1.0.5
много разных исправлений и улучшений, значительная часть благодаря замечаниям RomanArt

В папке только картинки

Поделиться

49

Re: Каталог

Исправлено, спасибо

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

50 (2014-06-18 19:13:11 отредактировано chumaty)

Re: Каталог

sergeyterr пишет:

Исправлено, спасибо

Доброго времени суток, плагин хорош (но лично мне не хватает некоторого функционала), несколько вопросов:

1. Будут ли сделаны многоуровневые вложения каталогов (без ограничений)?
2. Если есть к примеру категория Кошки и Собаки и в ту и в другую надо добавить каталог Сухие корма, то сухим кормам и там и там нельзя назначить slug - sukhie_korma, я понимаю что слуг уникален, возможно ли обойти эту уникальность каким то образом и учесть пожелания в будущем релизе? (сложно сделать выгрузку из существующего прайса другого магазина)

Спасибо.

Поделиться