1. Приветствую гостей и пользователей нашего форума! Первый раз вы у нас или же давно участвуете в жизни ресурса, хочу напомнить несколько моментов.

    1) Пользуемся поиском по форуму! Зачастую информация может находиться не по разделу!

    2) Раздел ИНФО-продуктов относительно новый, но имеем уже более 3000 высококлассных материалов (пользуемся сортировкой по прификсам).

    3) И самое важное, КАК КАЧАТЬ БЕЗ ОГРАНИЧЕНИЙ, вся информация находится по этой ссылке КУПИТЬ VIP

    4) Временная акция, получи +5 постов за вступление в нашу группу "Вконтакте" Более подробно ТУТ

    5) Веди активную жизнь на форуме и получай рубли на личный счёт!

    Скрыть объявление
  2. На нашем форуме Null-Prog действует серьёзное правило касательно размещения материалов!

    ДЛЯ РЕЛИЗЁРОВ: категорически запрещается выкладка материалов на файлообменники типа Deposit, letitbit и другие, требующие просмотров рекламы, обрезающие скорость и тд. Нарушителям, первые 2 раза предупреждения, далее БАН. Тему по этому поводу можно посмотреть ТУТ

    Скрыть объявление
  3. В тестовом режиме на нашем форуме открыт онлайн конструктор сайтов. Вы можете попробовать создать свой сайт у НАС, интуитивно понятный интерфейс, переведёт на 95%, быстрый экспорт проекта, от вас только перетаскивать элементы и вставить в них необходимый текст!

    Все вопросы ТУТ

    Скрыть объявление

  4. Скрыть объявление
  5. Уважаемые форумчане, открывается новый раздел форума, посвящённый ремонту и эксплуатации автомобилей. Просмотреть его можно ТУТ

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

    Напоминаю, сообщения в разделе АВТО не учитываются, общение не ограничено.

    Скрыть объявление
  6. Объявляется набор Модераторов на различные раздел форума, свои заявки можно оставлять в ЭТОМ разделе, перед оставлением заявки рекомендуется ознакомиться с ПРАВИЛАМИ для модераторов.

Уроки Полезности для OpenCart

Тема в разделе "OpenCart", создана пользователем Sam Jack, 13 май 2015.

  1. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    Собственно, начну.
    Интересная фишка:
    АНИМИРОВАННЫЙ ЛОГОТИП
    Код:
    #logo img{-webkit-animation-duration:1s;-moz-animation-duration:1s;animation-timing-function:ease}
    #logo a:hover img{-webkit-animation-name:tada;-moz-animation-name:tada;animation-name:tada}
    @-webkit-keyframes tada{0%{-webkit-transform:scale(1)}
    10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}
    30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}
    40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}
    100%{-webkit-transform:scale(1) rotate(0)}
    }
    @-moz-keyframes tada{0%{-moz-transform:scale(1)}
    10%,20%{-moz-transform:scale(0.9) rotate(-3deg)}
    30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)}
    40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)}
    100%{-moz-transform:scale(1) rotate(0)}
    }
    @keyframes tada{0%{transform:scale(1)}
    10%,20%{transform:scale(0.9) rotate(-3deg)}
    30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}
    40%,60%,80%{transform:scale(1.1) rotate(-3deg)}
    100%{transform:scale(1) rotate(0)}
    }
    Чистим кеш. Всё.
     
    Метки:
    AutoRich нравится это.
  2. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    Продолжим по логотипу
    Исправляем ссылку на логотипе в нормальный вид: сайт.ru
    Для этого редактируем файл system/library/url.php
    Находим строки:
    Код:
    if ($args) {
    $url .= str_replace('&', '&', '&' . ltrim($args, '&'));
    }
    После вставляем:
    Код:
    else {
    if($route == 'common/home') {
    if($connection == 'NONSSL') { return HTTP_SERVER; }
    else { return HTTPS_SERVER; }
    }
    }
    Готово. Проверяем.
     
  3. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    И чтоб закончить шапку сделаем уголок с открывающейся ссылкой
    Качаем
    Скрытый текст:
    **Скрытый текст: Вы должны нажать кнопку 'Мне нравится' для возможности просмотра скрытого текста.**
    В ридми все написано подробно.
     
    AndrewASDF, torrok и yokkivans нравится это.
  4. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    И еще в шапке можно сделать плавную корзину. Демо нет, но проверял - работает.
    В файле по пути /catalog/view/javascript/common.js заменим
    Код:
    $('#cart > .heading a').live('click', function() {
            $('#cart').addClass('active');
            $('#cart').load('index.php?route=module/cart #cart > *');
            $('#cart').live('mouseleave', function() {
                $(this).removeClass('active');
            });
        });
    на
    Код:
    $("#cart").hover(
    function () {
    $('#cart .content').add("#cart .content").load('index.php?route=module/cart .content > *').stop(true, true).show('slow');$('#cart').addClass('active');
    },
    function () {
    $('#cart .content').stop(true, true).hide('fast');$(this).removeClass('active');
    }
    );
    Только для версии 1.5.5.1 На других не проверялось!
     
  5. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    Продолжим в шапке.
    КОНТАКТЫ В ШАПКУ ИЗ АДМИНКИ
    -выводим дополнительные поля контактов в админ панели;
    -выводим нужное количество контактов (номеров телефона, skype, ICQ и т.д.)
    1. Открываем файл:
    \admin\view\template\setting\setting.tpl
    находим:
    Код:
    <tr>[/COLOR][/FONT][/SIZE][/COLOR][/FONT][/SIZE]
    <td><span class="required">*</span> <?php echo $entry_email; ?></td>
    <td><input type="text" name="config_email" value="<?php echo $config_email; ?>" size="40" />
    <?php if ($error_email) { ?>
    <span class="error"><?php echo $error_email; ?></span>
    <?php } ?></td>
    </tr>


    после вставляем:
    Код:
    <tr>
    <td><?php echo $entry_image_contact; ?>
    <td><input type="text" name="config_image_from" value="<?php echo $config_image_from; ?>" />
    <?php echo $entry_image_from; ?>
    <br><input type="text" name="config_margin_left" value="<?php echo $config_margin_left; ?>" />px
    <?php echo $entry_margin_left; ?>
    </td>
    </tr>
    <tr>
    <td><?php echo $entry_contact; ?> - 1
    <td><input type="text" name="config_contact1" value="<?php echo $config_contact1; ?>" />
    <br><input type="text" name="config_contacticon1" value="<?php echo $config_contacticon1; ?>" />
    <?php echo $entry_contacticon; ?>
    </td></td>
    </tr>
    <tr>
    <td><?php echo $entry_contact; ?> - 2
    <td><input type="text" name="config_contact2" value="<?php echo $config_contact2; ?>" />
    <br><input type="text" name="config_contacticon2" value="<?php echo $config_contacticon2; ?>" />
    <?php echo $entry_contacticon; ?>
    </td></td>
    </tr>
    2. Открываем файл:
    \admin\controller\setting\setting.php
    находим:
    Код:
    $this->data['config_address'] = $this->config->get('config_address');
        }
    после вставляем:
    Код:
    $this->data['entry_image_from'] = $this->language->get('entry_image_from');
    $this->data['entry_image_contact'] = $this->language->get('entry_image_contact');
    if (isset($this->request->post['config_image_from'])) {
    $this->data['config_image_from'] = $this->request->post['config_image_from'];
    } else {
    $this->data['config_image_from'] = $this->config->get('config_image_from');
    }
    $this->data['entry_margin_left'] = $this->language->get('entry_margin_left');
    if (isset($this->request->post['config_margin_left'])) {
    $this->data['config_margin_left'] = $this->request->post['config_margin_left'];
    } else {
    $this->data['config_margin_left'] = $this->config->get('config_margin_left');
    }
    if (isset($this->request->post['config_contact1'])) {
    $this->data['config_contact1'] = $this->request->post['config_contact1'];
    } else {
    $this->data['config_contact1'] = $this->config->get('config_contact1');
    }
    if (isset($this->request->post['config_contacticon1'])) {
    $this->data['config_contacticon1'] = $this->request->post['config_contacticon1'];
    } else {
    $this->data['config_contacticon1'] = $this->config->get('config_contacticon1');
    }
    if (isset($this->request->post['config_contact2'])) {
    $this->data['config_contact2'] = $this->request->post['config_contact2'];
    } else {
    $this->data['config_contact2'] = $this->config->get('config_contact2');
    }
    if (isset($this->request->post['config_contacticon2'])) {
    $this->data['config_contacticon2'] = $this->request->post['config_contacticon2'];
    } else {
    $this->data['config_contacticon2'] = $this->config->get('config_contacticon2');
    }
    еще находим:
    $this->data['tab_sms'] = $this->language->get('tab_sms');
    после вставляем:
    Код:
    $this->data['entry_contact'] = $this->language->get('entry_contact');
    $this->data['entry_contacticon'] = $this->language->get('entry_contacticon');
    
    3. Открываем:
    \catalog\controller\common\header.php
    находим:
    Код:
    $this->data['logo'] = '';
      }
    после копируем и вставляем:
    Код:
    $this->data['im_from'] = $this->config->get('config_image_from');
    $this->data['marg_left'] = $this->config->get('config_margin_left');
    $this->data['cont1'] = $this->config->get('config_contact1');
    $this->data['conicon1'] = $this->config->get('config_contacticon1');
    $this->data['cont2'] = $this->config->get('config_contact2');
    $this->data['conicon2'] = $this->config->get('config_contacticon2');
    4. Далее нужно открыть:
    \admin\language\russian\setting\setting.php
    ищем:
    Код:
    // Entry

    после копируем и вставляем следующий текст:
    Код:
    $_['entry_contact'] = 'Контакты';
    $_['entry_contacticon'] = '<span style="color: red;">< < < </span> Иконка контакта';
    $_['entry_margin_left'] = '<span style="color: red;">< < < </span> Отступ текста слева';
    $_['entry_image_from'] = 'Путь к папке с иконкой';
    $_['entry_image_contact'] = 'Иконка';
    5. Открываем нужный файл:
    \catalog\view\theme\default\template\common\header.tpl
    в этом файле нужно вставить данный текст в то место, где будут выводится наши контакты.
    Например у меня после контейнера <div id="search">...</div>:
    Код:
    <div id="contact_bg">
    <div id="contact_info_head1">
    <div style="padding-left:<?php echo $marg_left; ?>px; height: 16px; line-height: 16px; background: url('<?php echo $im_from; ?><?php echo $conicon1; ?>') no-repeat; background-size: auto; ">
    <?php echo $cont1; ?>
    </div>
    <div style="padding-left:<?php echo $marg_left; ?>px; height: 16px; line-height: 16px; margin-top: 5px; background: url('<?php echo $im_from; ?><?php echo $conicon2; ?>') no-repeat; background-size: auto; ">
    <?php echo $cont2; ?>
    </div>
    </div>
    </div>
    
    5.1. Мой стиль <div id="contact_bg"> в файле:
    \catalog\view\theme\default\stylesheet\stylesheet.css
    Код:
    #contact_bg {
    position: absolute;
    background: url("../image/contact_header_bg.gif") center center no-repeat;
    width: 277px;
    height: 100px;
    right: 0px;
    left: 300px;
    top: 5px;
    }
    5.2. Мой стиль <div id="contact_info_head1"> в файле:
    \catalog\view\theme\default\stylesheet\stylesheet.css

    Код:
    #contact_info_head1 {
    position: absolute;
    width:240px;
    left: 10px;
    top: 10px;
    text-align: left;
    font-size: 12px;
    color: #E8E8E8;
    z-index: 8;
    }

    Все. Проверял на 1.5.4.1
    Результат
     
  6. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    Еще про контакты
    КОНТАКТЫ И АДРЕС В ШАПКУ ИЗ АДМИНКИ
    -выводим нужные контакты в нужно место. Смысл в том, что бы именно вывести контакты те, которые заполняются в настройках OpenCart. Также эти контакты мы может увидеть на странице: /contaсt
    1. Из файла catalog\controller\information\contact.php нужно взять те строки контактов, которые хотим вывести. Например я возьму номер телефона:
    Код:
    $this->data['telephone'] = $this->config->get('config_telephone');
    2. Открываем файл \catalog\controller\common\header.php и вставляем скопированные строки из contact.php после:
    Код:
    $this->data['text_checkout'] = $this->language->get('text_checkout');
    3. Открываем \catalog\view\theme\default\template\common\header.tpl и вставляем код вывода телефона:
    Код:
    <?php if ($telephone) { ?>
    <b>Телефон:</b><br />
    <?php echo $telephone; ?><br />
    <br />
    <?php } ?>
    Примечание: как вы заметили, в этом есть свои НО - <b>Телефон:</b>. В случае, если у вас ТОЛЬКО один язык на сайте - это не проблема. А если 2 и больше, тогда нужно подключить вывод слова "Телефон" через языковый модуль.
    Примечание 2: В этом уроке мы разобрались, как вывести контакты из БД в нужно нам место сайта (в данном примере это шапка (header)). Но не забываем о том, что нам нужно место, где буду наши контакты. Для этого нужно написать в CSS стиль контейнера DIV будущих контактов.
    Проверял на 1.5.4.1
     
  7. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    КОНТАКТЫ В ШАПКЕ С ИМЕНАМИ ИЗ АДМИНКИ
    - создаём формы в админ-панели ( номер, иконка и имя);
    - выводим данные, из выше упомянутых форм, в нужное нам место (шапку OpenCart).
    1.0. Начнем с
    \admin\controller\setting\setting.php
    1.1. ищем:
    Код:
    this-&gt;data['entry_address'] = $this-&gt;language-&gt;get('entry_address');

    после вставляем:
    Код:
    // контакты - подключаем вывод языкового модуля.[/FONT][/SIZE][/COLOR]
    $this->data['entry_contact_namber'] = $this->language->get('entry_contact_namber');
    $this->data['entry_contact_icon'] = $this->language->get('entry_contact_icon');
    $this->data['entry_contact_name'] = $this->language->get('entry_contact_name');
    $this->data['entry_contact_margin_left'] = $this->language->get('entry_contact_margin_left');
    $this->data['entry_contact_img_from'] = $this->language->get('entry_contact_img_from');

    .2. находим:
    Код:
    $this->data['button_cancel'] = $this->language->get('button_cancel');

    после вставляем:
    Код:
    $this->data['tab_contacts'] = $this->language->get('tab_contacts');

    1.3. в этом же файле ищем:
    Код:
    $files = glob(DIR_SYSTEM . 'smsgate/*.php');

    после вставляем:

    Код:
    // Покажет ошибку, если путь к папке с иконками задан не правильно.
    if (isset($this->error['img_from_error'])) {
    $this->data['error_config_contact_img_from'] = $this->error['img_from_error'];
    } else {
    $this->data['error_config_contact_img_from'] = '';
    }
    // Покажет ошибку, если отступ указан неверно.
    if (isset($this->error['margin_left_error'])) {
    $this->data['error_config_contact_margin_left'] = $this->error['margin_left_error'];
    } else {
    $this->data['error_config_contact_margin_left'] = '';
    }
    
    1.4. далее по файлу находим:
    Код:
    if (isset($this->request->post['config_address'])) {
    $this->data['config_address'] = $this->request->post['config_address'];
    } else {
    $this->data['config_address'] = $this->config->get('config_address');
    }
    после вставляем:
    Код:
    // Добавляет и берет данные формы "Путь к папке с иконкой"
    if (isset($this->request->post['config_contact_img_from'])) {
    $this->data['config_contact_img_from'] = $this->request->post['config_contact_img_from'];
    } else {
    $this->data['config_contact_img_from'] = $this->config->get('config_contact_img_from');
    }
    // Добавляет и берет данные формы "Отступ текста слева"
    if (isset($this->request->post['config_contact_margin_left'])) {
    $this->data['config_contact_margin_left'] = $this->request->post['config_contact_margin_left'];
    } else {
    $this->data['config_contact_margin_left'] = $this->config->get('config_contact_margin_left');
    }
    ///contact 1  ------------------------------------------------------------------------
    if (isset($this->request->post['config_contact_namber1'])) {
    $this->data['config_contact_namber1'] = $this->request->post['config_contact_namber1'];
    } else {
    $this->data['config_contact_namber1'] = $this->config->get('config_contact_namber1');
    }
    if (isset($this->request->post['config_contact_icon1'])) {
    $this->data['config_contact_icon1'] = $this->request->post['config_contact_icon1'];
    } else {
    $this->data['config_contact_icon1'] = $this->config->get('config_contact_icon1');
    }
    if (isset($this->request->post['config_contact_name1'])) {
    $this->data['config_contact_name1'] = $this->request->post['config_contact_name1'];
    } else {
    $this->data['config_contact_name1'] = $this->config->get('config_contact_name1');
    }
    if (isset($this->request->post['config_contact_phontime1'])) {
    $this->data['config_contact_phontime1'] = $this->request->post['config_contact_phontime1'];
    } else {
    $this->data['config_contact_phontime1'] = $this->config->get('config_contact_phontime1');
    }
    if (isset($this->request->post['config_contact_department1'])) {
    $this->data['config_contact_department1'] = $this->request->post['config_contact_department1'];
    } else {
    $this->data['config_contact_department1'] = $this->config->get('config_contact_department1');
    }
    ///contact 2 ------------------------------------------------------------------------
    if (isset($this->request->post['config_contact_namber2'])) {
    $this->data['config_contact_namber2'] = $this->request->post['config_contact_namber2'];
    } else {
    $this->data['config_contact_namber2'] = $this->config->get('config_contact_namber2');
    }
    if (isset($this->request->post['config_contact_icon2'])) {
    $this->data['config_contact_icon2'] = $this->request->post['config_contact_icon2'];
    } else {
    $this->data['config_contact_icon2'] = $this->config->get('config_contact_icon2');
    }
    if (isset($this->request->post['config_contact_name2'])) {
    $this->data['config_contact_name2'] = $this->request->post['config_contact_name2'];
    } else {
    $this->data['config_contact_name2'] = $this->config->get('config_contact_name2');
    }
    if (isset($this->request->post['config_contact_phontime2'])) {
    $this->data['config_contact_phontime2'] = $this->request->post['config_contact_phontime2'];
    } else {
    $this->data['config_contact_phontime2'] = $this->config->get('config_contact_phontime2');
    }
    if (isset($this->request->post['config_contact_department2'])) {
    $this->data['config_contact_department2'] = $this->request->post['config_contact_department2'];
    } else {
    $this->data['config_contact_department2'] = $this->config->get('config_contact_department2');
    }
    ///contact 3 ------------------------------------------------------------------------
    if (isset($this->request->post['config_contact_namber3'])) {
    $this->data['config_contact_namber3'] = $this->request->post['config_contact_namber3'];
    } else {
    $this->data['config_contact_namber3'] = $this->config->get('config_contact_namber3');
    }
    if (isset($this->request->post['config_contact_icon3'])) {
    $this->data['config_contact_icon3'] = $this->request->post['config_contact_icon3'];
    } else {
    $this->data['config_contact_icon3'] = $this->config->get('config_contact_icon3');
    }
    if (isset($this->request->post['config_contact_name3'])) {
    $this->data['config_contact_name3'] = $this->request->post['config_contact_name3'];
    } else {
    $this->data['config_contact_name3'] = $this->config->get('config_contact_name3');
    }
    if (isset($this->request->post['config_contact_phontime3'])) {
    $this->data['config_contact_phontime3'] = $this->request->post['config_contact_phontime3'];
    } else {
    $this->data['config_contact_phontime3'] = $this->config->get('config_contact_phontime3');
    }
    if (isset($this->request->post['config_contact_department3'])) {
    $this->data['config_contact_department3'] = $this->request->post['config_contact_department3'];
    } else {
    $this->data['config_contact_department3'] = $this->config->get('config_contact_department3');
    }
    ///contact 4 ------------------------------------------------------------------------
    if (isset($this->request->post['config_contact_namber4'])) {
    $this->data['config_contact_namber4'] = $this->request->post['config_contact_namber4'];
    } else {
    $this->data['config_contact_namber4'] = $this->config->get('config_contact_namber4');
    }
    if (isset($this->request->post['config_contact_icon4'])) {
    $this->data['config_contact_icon4'] = $this->request->post['config_contact_icon4'];
    } else {
    $this->data['config_contact_icon4'] = $this->config->get('config_contact_icon4');
    }
    if (isset($this->request->post['config_contact_name4'])) {
    $this->data['config_contact_name4'] = $this->request->post['config_contact_name4'];
    } else {
    $this->data['config_contact_name4'] = $this->config->get('config_contact_name4');
    }
    if (isset($this->request->post['config_contact_phontime4'])) {
    $this->data['config_contact_phontime4'] = $this->request->post['config_contact_phontime4'];
    } else {
    $this->data['config_contact_phontime4'] = $this->config->get('config_contact_phontime4');
    }
    if (isset($this->request->post['config_contact_department4'])) {
    $this->data['config_contact_department4'] = $this->request->post['config_contact_department4'];
    } else {
    $this->data['config_contact_department4'] = $this->config->get('config_contact_department4');
    }
    ///contact 5 ------------------------------------------------------------------------
    if (isset($this->request->post['config_contact_namber5'])) {
    $this->data['config_contact_namber5'] = $this->request->post['config_contact_namber5'];
    } else {
    $this->data['config_contact_namber5'] = $this->config->get('config_contact_namber5');
    }
    if (isset($this->request->post['config_contact_icon5'])) {
    $this->data['config_contact_icon5'] = $this->request->post['config_contact_icon5'];
    } else {
    $this->data['config_contact_icon5'] = $this->config->get('config_contact_icon5');
    }
    if (isset($this->request->post['config_contact_name5'])) {
    $this->data['config_contact_name5'] = $this->request->post['config_contact_name5'];
    } else {
    $this->data['config_contact_name5'] = $this->config->get('config_contact_name5');
    }
    if (isset($this->request->post['config_contact_phontime5'])) {
    $this->data['config_contact_phontime5'] = $this->request->post['config_contact_phontime5'];
    } else {
    $this->data['config_contact_phontime5'] = $this->config->get('config_contact_phontime5');
    }
    if (isset($this->request->post['config_contact_department5'])) {
    $this->data['config_contact_department5'] = $this->request->post['config_contact_department5'];
    } else {
    $this->data['config_contact_department5'] = $this->config->get('config_contact_department5');
    }
    ///contact end ------------------------------------------------------------------------
    
    1.5. найти:
    Код:
    if ((utf8_strlen($this->request->post['config_email']) > 96) || !preg_match('/^[^\@]+@.*\.[a-z]{2,6}$/i', $this->request->post['config_email'])) {
    $this->error['email'] = $this->language->get('error_email');
    }
    
    после вставить:
    Код:
    if ((utf8_strlen($this->request->post['config_contact_img_from']) < 3) || !preg_match('/^[\/][a-z]\S+[\/]\S+/i',$this->request->post['config_contact_img_from'])) {
    $this->error['img_from_error'] = $this->language->get('error_config_contact_img_from');
    }
    if ((utf8_strlen($this->request->post['config_contact_margin_left']) < 0) || !preg_match('/^[0-9]/i',$this->request->post['config_contact_margin_left'])) {
    $this->error['margin_left_error'] = $this->language->get('error_config_contact_margin_left');
    }
    С этим файлом все!
    2.0. Открываем
    \admin\view\template\setting\setting.tpl
    находим:
    <a href="#tab-general"><?php echo $tab_general; ?></a>

    после вставляем:
    Код:
    <a href="#tab-store"><?php echo $tab_store; ?></a>

    2.1. в этом же файле ищем:
    Код:
    <tr>
    <td><?php echo $entry_fax; ?></td>
    <td><input type="text" name="config_fax" value="<?php echo $config_fax; ?>" /></td>
    </tr>
    </table>
    </div>
    после вставляем:
    Код:
    <div id="tab_contacts">
    <?php echo $entry_contact_img_from; ?> <input type="text" style="width: 250px;" name="config_contact_img_from" value="<?php echo $config_contact_img_from; ?>" />
    <?php if ($error_config_contact_img_from) { ?>
    <?php echo $error_config_contact_img_from; ?>
    <?php } ?>
    <?php echo $entry_contact_margin_left; ?> <input type="text" name="config_contact_margin_left" value="<?php echo $config_contact_margin_left; ?>" />px
    <?php if ($error_config_contact_margin_left) { ?>
    <?php echo $error_config_contact_margin_left; ?>
    <?php } ?>
    <table class="contact_list">
    <thead>
    <tr>
    <td class="namber"> № </td>
    <td class="center"><?php echo $entry_contact_namber; ?></td>
    <td class="center"><?php echo $entry_contact_icon; ?></td>
    <td class="center"><?php echo $entry_contact_name; ?></td>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td class="right">1</a>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_namber1" value="<?php echo $config_contact_namber1; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_icon1" value="<?php echo $config_contact_icon1; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_name1" value="<?php echo $config_contact_name1; ?>" /></td>
    </tr>
    <tr>
    <td class="right">2</a>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_namber2" value="<?php echo $config_contact_namber2; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_icon2" value="<?php echo $config_contact_icon2; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_name2" value="<?php echo $config_contact_name2; ?>" /></td>
    </td>
    </tr>
    <tr>
    <td class="right">3</a>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_namber3" value="<?php echo $config_contact_namber3; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_icon3" value="<?php echo $config_contact_icon3; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_name3" value="<?php echo $config_contact_name3; ?>" /></td>
    </td>
    </tr>
    <tr>
    <td class="right">4</a>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_namber4" value="<?php echo $config_contact_namber4; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_icon4" value="<?php echo $config_contact_icon4; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_name4" value="<?php echo $config_contact_name4; ?>" /></td>
    </td>
    </tr>
    <tr>
    <td class="right">5</a>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_namber5" value="<?php echo $config_contact_namber5; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_icon5" value="<?php echo $config_contact_icon5; ?>" /></td>
    <td class="left"><input type="text" style="width: 250px;" name="config_contact_name5" value="<?php echo $config_contact_name5; ?>" /></td>
    </td>
    </tr>
    </tbody>
    </table>
    </div>
    3.0. Работаем с файлом
    \catalog\controller\common\header.php
    3.1. ищем:
    Код:
    if ($this->config->get('config_logo') && file_exists(DIR_IMAGE . $this->config->get('config_logo'))) {
    $this->data['logo'] = $server . $this->config->get('config_logo');
    } else {
    $this->data['logo'] = '';
    }
    после вставляем:
    Код:
    // отступ иконки левый (margin_left) и пусть к папку с иконками (img_from)
    $this->data['config_contact_margin_left'] = $this->config->get('config_contact_margin_left');
    $this->data['config_contact_img_from'] = $this->config->get('config_contact_img_from');
    // контакт 1
    $this->data['config_contact_namber1'] = $this->config->get('config_contact_namber1');
    $this->data['config_contact_icon1'] = $this->config->get('config_contact_icon1');
    $this->data['config_contact_name1'] = $this->config->get('config_contact_name1');
    // контакт 2
    $this->data['config_contact_namber2'] = $this->config->get('config_contact_namber2');
    $this->data['config_contact_icon2'] = $this->config->get('config_contact_icon2');
    $this->data['config_contact_name2'] = $this->config->get('config_contact_name2');
    // контакт 3
    $this->data['config_contact_namber3'] = $this->config->get('config_contact_namber3');
    $this->data['config_contact_icon3'] = $this->config->get('config_contact_icon3');
    $this->data['config_contact_name3'] = $this->config->get('config_contact_name3');
    // контакт 4
    $this->data['config_contact_namber4'] = $this->config->get('config_contact_namber4');
    $this->data['config_contact_icon4'] = $this->config->get('config_contact_icon4');
    $this->data['config_contact_name4'] = $this->config->get('config_contact_name4');
    // контакт 5
    $this->data['config_contact_namber5'] = $this->config->get('config_contact_namber5');
    $this->data['config_contact_icon5'] = $this->config->get('config_contact_icon5');
    $this->data['config_contact_name5'] = $this->config->get('config_contact_name5');
    
    4.0. Открываем файл
    \admin\language\russian\setting\setting.php
    ищем:
    // Entry
    после вставляем:
    Код:
    $_['entry_contact_namber']  = 'Номер';
    $_['entry_contact_icon']  = 'Иконка';
    $_['entry_contact_name']  = 'Имя';
    $_['entry_contact_phontime']  = 'Время работы';
    $_['entry_contact_department']  = 'Отдел';
    $_['entry_contact_img_from']  = 'Путь к папке с иконкой';
    $_['entry_contact_margin_left'] = 'Отступ текста слева';
    4.1. в этом же файле находим:
    // Error
    после вставляем:
    Код:
    $_['error_config_contact_img_from'] = '<span style="color: red">Проверьте правильность пути папки. Должен начинаться на " / " и им заканчиваться " <b>/</b> ". <b>Без пробелов</b>. Например:  <b>/</b>image/contact_icon<b>/</b></span>';
    $_['error_config_contact_margin_left'] = '<span style="color: red">Отступ примет значение только числового характера. Впишите <b>целое число</b> отступа!</span>';
    5.0. Работаем с файлом:
    \admin\language\russian\russian.php
    находим
    Код:
    $_['tab_store'] = 'Витрина';

    после вставляем:
    Код:
    $_['tab_contacts'] = 'Контакты';

    6.0. Вставляем вывод контактов в нужное место. Файл:
    \catalog\view\theme\default\template\common\header.tpl
    вставьте эти данные в то место, где вы хотите их видить:
    Код:
    <div id="contact_bg">
    <div id="contact_info_head1">
    <div style="padding-left:<?php echo $config_contact_margin_left; ?>px; height: 16px; line-height: 16px; background: url('<?php echo $config_contact_img_from; ?><?php echo $config_contact_icon1; ?>') no-repeat; background-size: auto; "><?php echo $config_contact_namber1; ?> <?php echo $config_contact_name1; ?>
    </div>
    <div style="padding-left:<?php echo $config_contact_margin_left; ?>px; height: 16px; line-height: 16px; background: url('<?php echo $config_contact_img_from; ?><?php echo $config_contact_icon2; ?>') no-repeat; background-size: auto; "><?php echo $config_contact_namber2; ?> <?php echo $config_contact_name2; ?>
    </div>
    <div style="padding-left:<?php echo $config_contact_margin_left; ?>px; height: 16px; line-height: 16px; background: url('<?php echo $config_contact_img_from; ?><?php echo $config_contact_icon3; ?>') no-repeat; background-size: auto; "><?php echo $config_contact_namber3; ?> <?php echo $config_contact_name3; ?>
    </div>
    <div style="padding-left:<?php echo $config_contact_margin_left; ?>px; height: 16px; line-height: 16px; background: url('<?php echo $config_contact_img_from; ?><?php echo $config_contact_icon4; ?>') no-repeat; background-size: auto; "><?php echo $config_contact_namber4; ?> <?php echo $config_contact_name4; ?>
    </div>
    <div style="padding-left:<?php echo $config_contact_margin_left; ?>px; height: 16px; line-height: 16px; background: url('<?php echo $config_contact_img_from; ?><?php echo $config_contact_icon5; ?>') no-repeat; background-size: auto; "><?php echo $config_contact_namber5; ?> <?php echo $config_contact_name5; ?>
    </div>
    </div>
    </div>
    Примечание!
    На этом примере, все данные выводятся в контейнер:
    <div id="contact_bg">
    <div id="contact_info_head1">
    ...
    </div></div>
    стиль которых:
    Код:
    #header #contact_bg {
    position: absolute;
    background: url("../image/contact_header_bg.gif") center no-repeat;
    width: 277px;
    height: 100px;
    right: 0px;
    left: 300px;
    top: 5px;
    }
    #header #contact_info_head1 {
    position: absolute;
    width:240px;
    left: 10px;
    top: 10px;
    text-align:left;
    font-size: 12px;
    color: #E8E8E8;
    z-index: 8;
    }
    Будет правильно написать свой стиль контейнеров.




     
  8. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    Немного про изменения в админке. Поле Модель делаем необязательным для заполнения.
    Редактировать файл /admin/controller/catalog/product.php найти строку вида:
    Код:
    php code:
    private function validateForm() {
    if (!$this->user->hasPermission(‘modify’, ’catalog/product’)) {
    $this->error['warning'] = $this->language->get(‘error_permission’);
    }
    foreach ($this->request->post['product_description'] as $language_id => $value) {
    if ((utf8_strlen($value['name']) < 1) || (utf8_strlen($value['name']) > 255)) {
    $this->error['name'][$language_id] = $this->language->get(‘error_name’);
    }
    }
    if ((utf8_strlen($this->request->post['model']) < 1) || (utf8_strlen($this->request->post['model']) > 64)) {
    $this->error['model'] = $this->language->get(‘error_model’);
    }
    if ($this->error && !isset($this->error['warning'])) {
    $this->error['warning'] = $this->language->get(‘error_warning’);
    }
    и заменить на:
    Код:
    php code:
    private function validateForm() {
    if (!$this->user->hasPermission(‘modify’, ’catalog/product’)) {
    $this->error['warning'] = $this->language->get(‘error_permission’);
    }
    foreach ($this->request->post['product_description'] as $language_id => $value) {
    if ((utf8_strlen($value['name']) < 1) || (utf8_strlen($value['name']) > 255)) {
    $this->error['name'][$language_id] = $this->language->get(‘error_name’);
    }
    }
    /*if ((utf8_strlen($this->request->post['model']) < 1) || (utf8_strlen($this->request->post['model']) > 64)) {
    $this->error['model'] = $this->language->get(‘error_model’);
    }*/
    if ($this->error && !isset($this->error['warning'])) {
    $this->error['warning'] = $this->language->get(‘error_warning’);
    }
    Кому надо может найти как удалить красную звездочку возле Модель ))
     
  9. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    Может кому пригодиться смена обоев или фона делаеться очень просто:

    background: url("../image/Map.jpg"); КОД ЗАМЕНЫ ФОНА НА КАРТИНКУ
    background:#ffffff; КОД ЗАМЕН ФОНА НА ЦВЕТ (FFFFFF) БЕЛЫЙ (для примера можно любой код поставить)

    /catalog/view/theme/ВАША ТЕМА/stylesheet/stylesheet.css (ПУТЬ К ФАЙЛУ ЗАМЕНЫ ФОНА)
     
  10. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    Как убрать ссылки типа /index.php?route=common/home?
    В файле system/library/response.php в самом низу находим
    Код:
    public function output() {
    if ($this->output) {
    if ($this->level) {
    $ouput = $this->compress($this->output, $this->level);
    } else {
    $ouput = $this->output;
    }
    меняем на
    Код:
    output = str_replace('index.php?route=common/home', '', $this->output);
    if ($this->output) {
    if ($this->level) {
    $ouput = $this->compress($this->output, $this->level);
    } else {
    $ouput = $this->output;
    }
     
  11. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    Плюс/минус кол-ва в категориях
    в файл catalog/controller/product/category.php - после - 'product_id' => $result['product_id'],
    Вставляем
    Код:
    'minimum' => $result['minimum'],
    а в catalog/view/theme/default/template/product/category.tpl - в <div class="cart"> вставляем
    Код:
    <div>
    <input type="text" name="quantity" size="2" value="<?php echo $product['minimum']; ?>" id="quantity_<?php echo $product['product_id']; ?>"/>
    <input type="hidden" name="product_id" size="2" value="<?php echo $product['product_id']; ?>" />
    &nbsp;
    <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>',document.getElementById('quantity_<?php echo $product['product_id']; ?>').value);" class="button" />
    </div> 
     
  12. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    оиск с игнорированием знаков пунктуации , ',', '.', ';', ':', '_'
    в файле catalog/controller/product/search.php
    найти
    Код:
    if (isset($this->request->get['search'])) {
    $search = $this->request->get['search’];

    } else {
    $search = '';
    }
    и изменить на
    Код:
    if (isset($this->request->get['search'])) {
    $search = $this->request->get['search’];

    $ubiraem = array('-', ' '); // допишите сюда все символы, которые мешают
    $search = str_replace($ubiraem, '', $search);

    } else {
    $search = '';
    }
     
  13. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.727
    Вес и размеры на стр-це
    (/catalog/controller/product/product.php) после строки:
    Код:
    $this->data['heading_title'] = $product_info['name'];
    вставить:
    Код:
    $this->data['length'] = $product_info['length'];
    $this->data['width'] = $product_info['width'];
    $this->data['height'] = $product_info['height'];
    $this->data['weight'] = $product_info['weight'];
    а в файле \catalog\view\theme\XXXX\template\product\product.tpl после
    Код:
    <?php echo $text_stock; ?> <?php echo $stock; ?>
    добавить:
    Код:
    <span> Размеры (ДxШxВ), см:</span> <?php echo intval($length) . " x " . intval($width) . " x " . intval($height); ?><br />
    <span>Вес товара, гр:</span><?php echo intval($weight) ?><br />
     
  14. yokkivans

    yokkivans Новичок

    Регистрация:
    9 авг 2015
    Сообщения:
    20
    Симпатии:
    7
    Огромное спасибо за урок про ЧПУ, реально долго искал.
     
  15. Пират

    Пират Пользователь

    Регистрация:
    4 сен 2015
    Сообщения:
    94
    Симпатии:
    129
    Удаляем лишнее
    1. Удалим из футера:

    • Политика безопасности
    • Условия соглашения
    • Возврат товара
    • Подарочные сертификаты
    • Партнёрская программа
    • История заказов
    • Подписка
    2. Удалим из списков товаров кнопку в сравнения, не всем это нужно.

    3. Удалим из карточки товара бонусные баллы и кнопку в сравнения.

    4. Удалим из моих заказов (в личном кабинете):

    • Файлы для скачивания
    • Бонусные баллы
    • Запросы на возврат
    5.Удалим из личного кабинета:

    • Файлы для скачивания
    • Возвраты

    1. Откроем админку сайта и переходим: Система > Настройки > Изменить > Опции > Подтверждение при регистрации: > Не выбрано, и чуть ниже > Условия партнерства: > Не выбрано > Сохранить.

    В админке переходим: Каталог > Статьи > удаляем:

    • Политика Безопасности
    • Условия соглашения
    Открываем файл footer.tpl (../catalog/view/theme/*ваш шаблон*/template/common) и удаляем из него эти строки:
    14 строка - <li><a href="<?php echo $return; ?>"><?php echo $text_return; ?></a></li> (возврат товара)
    21 строка - <li><a href="<?php echo $voucher; ?>"><?php echo $text_voucher; ?></a></li> (подарочные сертификаты)
    22 строка - <li><a href="<?php echo $affiliate; ?>"><?php echo $text_affiliate; ?></a></li> (партнёрская программа)
    28 строка - <li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li> (история заказов)
    30 строка - <li><a href="<?php echo $newsletter; ?>"><?php echo $text_newsletter; ?></a></li> (подписка)

    2. Откроем файл category.tpl (../catalog/view/theme/*ваш шаблон*/template/product) и удалим из него эти строки:
    68 строка - <div class="product-compare"><a href="<?php echo $compare; ?>" id="compare_total"><?php echo $text_compare; ?></a></div>
    95 строка - <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div>
    117 строка - html += ' <div class="compare">' + $(element).find('.compare').html() + '</div>';
    181 строка - html += '<div class="compare">' + $(element).find('.compare').html() + '</div>';

    3. Откроем файл product.tpl (../catalog/view/theme/*ваш шаблон*/template/product) и удалим из него это:
    30 строка - <span><?php echo $text_reward; ?></span> <?php echo $reward; ?><br />
    209 строка - <br />
    210 строка - <a onclick="addToCompare('<?php echo $product_id; ?>');"><?php echo $button_compare; ?></a>

    (P.S.удаляем не все строки целиком, а только то что я написал !!! )

    4. Откроем файл account.tpl (../catalog/view/theme/*ваш шаблон*/template/account) и удалим из него эти строки:
    25 строка - <li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li> (файлы для скачивания)
    26 строка - <li><a href="<?php echo $reward; ?>"><?php echo $text_reward; ?></a></li> (бонусные баллы)
    27 строка - <li><a href="<?php echo $return; ?>"><?php echo $text_return; ?></a></li> (запросы на возврат)

    5. Откроем файл account.tpl ( ../catalog/view/theme/*ваш шаблон*/template/module ) и удаляем эти строки:
    16 строка - <li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li> (файлы для скачивания)
    17 строка - <li><a href="<?php echo $return; ?>"><?php echo $text_return; ?></a></li> (возвраты)
     
  16. Пират

    Пират Пользователь

    Регистрация:
    4 сен 2015
    Сообщения:
    94
    Симпатии:
    129
    upload_2015-9-11_21-47-30.png
    Скачать книгу
    Скрытый текст:
    Вы должны ответить в тему для возможности просмотра скрытого текста.
     
    ritohixo нравится это.
  17. Пират

    Пират Пользователь

    Регистрация:
    4 сен 2015
    Сообщения:
    94
    Симпатии:
    129
    Также по теме выкладываю книги, и готовые сайты скаченные на соседнем ресурсе.
    Скачать
    Скрытый текст:
    Вы должны ответить в тему для возможности просмотра скрытого текста.
     
  18. warc

    warc Новичок

    Регистрация:
    15 сен 2015
    Сообщения:
    23
    Симпатии:
    1
    Пожалуй подпишусь, однако много интересного и полезного по Опенкарт
     
  19. Barco

    Barco Новичок

    Регистрация:
    17 янв 2017
    Сообщения:
    19
    Симпатии:
    7
    жаль что книг уже нет по ссылке.
     

Поделиться этой страницей

iHax Community
Рейтинг@Mail.ru Яндекс.Метрика мониторинг сайтов
Форум программного обеспечения/
Загрузка...