• Opencart затерся файл СРОЧНО нужна помощь Может кто скинуть?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Держи шаблон из версии 2.3:

    <div id="cart" class="btn-group btn-block">
      <button type="button" data-toggle="dropdown" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-inverse btn-block btn-lg dropdown-toggle"><i class="fa fa-shopping-cart"></i> <span id="cart-total"><?php echo $text_items; ?></span></button>
      <ul class="dropdown-menu pull-right">
        <?php if ($products || $vouchers) { ?>
        <li>
          <table class="table table-striped">
            <?php foreach ($products as $product) { ?>
            <tr>
              <td class="text-center"><?php if ($product['thumb']) { ?>
                <a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-thumbnail" /></a>
                <?php } ?></td>
              <td class="text-left"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
                <?php if ($product['option']) { ?>
                <?php foreach ($product['option'] as $option) { ?>
                <br />
                - <small><?php echo $option['name']; ?> <?php echo $option['value']; ?></small>
                <?php } ?>
                <?php } ?>
                <?php if ($product['recurring']) { ?>
                <br />
                - <small><?php echo $text_recurring; ?> <?php echo $product['recurring']; ?></small>
                <?php } ?></td>
              <td class="text-right">x <?php echo $product['quantity']; ?></td>
              <td class="text-right"><?php echo $product['total']; ?></td>
              <td class="text-center"><button type="button" onclick="cart.remove('<?php echo $product['cart_id']; ?>');" title="<?php echo $button_remove; ?>" class="btn btn-danger btn-xs"><i class="fa fa-times"></i></button></td>
            </tr>
            <?php } ?>
            <?php foreach ($vouchers as $voucher) { ?>
            <tr>
              <td class="text-center"></td>
              <td class="text-left"><?php echo $voucher['description']; ?></td>
              <td class="text-right">x&nbsp;1</td>
              <td class="text-right"><?php echo $voucher['amount']; ?></td>
              <td class="text-center text-danger"><button type="button" onclick="voucher.remove('<?php echo $voucher['key']; ?>');" title="<?php echo $button_remove; ?>" class="btn btn-danger btn-xs"><i class="fa fa-times"></i></button></td>
            </tr>
            <?php } ?>
          </table>
        </li>
        <li>
          <div>
            <table class="table table-bordered">
              <?php foreach ($totals as $total) { ?>
              <tr>
                <td class="text-right"><strong><?php echo $total['title']; ?></strong></td>
                <td class="text-right"><?php echo $total['text']; ?></td>
              </tr>
              <?php } ?>
            </table>
            <p class="text-right"><a href="<?php echo $cart; ?>"><strong><i class="fa fa-shopping-cart"></i> <?php echo $text_cart; ?></strong></a>&nbsp;&nbsp;&nbsp;<a href="<?php echo $checkout; ?>"><strong><i class="fa fa-share"></i> <?php echo $text_checkout; ?></strong></a></p>
          </div>
        </li>
        <?php } else { ?>
        <li>
          <p class="text-center"><?php echo $text_empty; ?></p>
        </li>
        <?php } ?>
      </ul>
    </div>
    Ответ написан
    2 комментария
  • Насколько плохо у данного компонента DOM-структура?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    SP Page Builder один из лучших конструкторов страниц, сам часто пользуюсь. А на счет Page Speed - это некий "идеальный конь в вакууме" к которому нужно стремиться но никто так и не достиг, поэтому не парься, бизнес для которого ты делаешь страницы Page Builder-ом гораздо больше выиграет от хорошей красивой верстки чем от сверхбыстрой страницы которая выглядит как говно.
    Ответ написан
  • Как отредактировать дефолтный шаблон opencart 3?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    5daef855c04ad598925290.png
    Ответ написан
    Комментировать
  • Как оформить вызов методов один за другим?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Только недавно осваивал подобное. Так как такие "каскады" функций часто встречаются во фреймворках.
    Суть в том что каждый предыдущий метод должен возвращать объект $this (либо другой объект), общая суть - метод может вызывать только объект поэтому конструкция $x->metod()->metod2(); означает что первая функция $x->metod() возвращает некий объект и уже у него мы вызываем второй метод. Вот мой пример:
    class Mailer {
    	
    	public $from;
    	public $to;
    	public $subject;
    	public $message;
    
    	public function setFrom(){
    		$this->from = 'my@mail.ru';
    		return $this;
    	}
    	
    	public function setTo(){
    		$this->to = 'you@mail.ru';
    		return $this;
    	}
    	
    	public function setSub(){
    		$this->subject = 'Hello!';
    		return $this;
    	}
    	
    	public function setMess(){
    		$this->message = 'Good morning friend.';
    		return;
    	}
    	
    	
    }
    
    $x = new Mailer();
    $x->setFrom()->setTo()->setSub()->setMess();
    
    // Смотрим что получилось:
    echo $x->from . "<br>";
    echo $x->to . "<br>";
    echo $x->subject . "<br>";
    echo $x->message . "<br>";
    Ответ написан
  • Что есть что в ссылке при MVC патерне?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Все что дальше content это Параметры передаваемые экшену.
    Ответ написан
    1 комментарий
  • Как правильно разработать одностраничную ИС с т.з. правильного тона программирования?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Прошу совета как правильно и удобно структурировать код html-разметки, чтобы не копаться в одном огромном файле
    - Инклудить в index.php
    include 'header.html.php';
    include 'form1.html.php';
    include 'footer.html.php';
    Ответ написан
    5 комментариев
  • 4K монитор для программирования: 32" или 43"?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    А вы батенька маньяк! )) 27 дюймов в самый раз, даже если у тебя 2-4 окна открыто с кодом.
    Ответ написан
    9 комментариев
  • Самый низкий порог вхождения - дизайн/рисование или программирование? На кого учиться?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    В России работа дизайнера это низкооплачиваемая каторга, дизайнеров у нас не считают за специалистов и у тебя всегда будут десятки тупых правок от клиентов не смотря на твой опыт и знания, потому что в дизайне правит вкусовщина и субъективная оценка.
    Ответ написан
    5 комментариев
  • Обработка изображений товаров для сайта, как правильно реализовать?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Используй для обрезки и уменьшения библиотеку imagemagic, там всё просто и доступно: https://www.php.net/manual/ru/book.imagick.php

    Что-бы подогнать под пропорции (обрезать) нужно сначала уменьшить до допустимых значений, например ширина картинки максимально 800 пикс, тогда что-бы получить высоту нужно получить сначала соотношение сторон, делается делением высоты на ширину, будет например 900/1600 будет 0,56 и дальше при ресайзе ты указываешь - "ширина 800 пикс, а высота равна ширине*0,56" в результате ты получаешь пропорционально уменьшенную картинку. Дальше можно сделать обрезку, если высота вылезла за допустимые пределы.
    Ответ написан
    Комментировать
  • Как вывести подкатегории категорий?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Абстрагируясь от твоего вордпресс-кода, если у тебя например только 2 уровня вложенности, я бы сделал так:

    1. Выбираем из базы только те категории которые не имеют родителя (parent = null) то есть Корневые Категории, помещаем их в массив $mainCategories.
    2. Выбираем из базы все категории которые имеют родителя (parent = некий id родителя) то есть Дочерние Категории, помещаем их в массив $subCategories.
    3. Циклом foreach перебираем Корневые Категории, при этом внутрь этого цикла помещаем условие - Если у нас есть (проверяем массив $subCategories) Дочерняя Категория у которой parent = текущей Корневой Директории то делаем еще один вложенный foreach и выводим все дочерние категории этой корневой категории.

    Таким образом у тебя может получиться список вида:

    - категория 1
    - - под категория 1.1
    - - под категория 1.2
    - - под категория 1.3
    - категория 2
    - - под категория 2.1
    - - под категория 2.2
    - - под категория 2.3

    И так далее.
    Я всегда при решении задачи мыслю именно так - без привязки к коду, просто сами принципы, как говорят инженеры "принципиальная схема", а уже потом пишешь код когда готова схема.

    ПРИМЕР:
    <?php
    
    $mainCat = array(
    	0=>array("id"=>"1", "parent"=>"", "name"=>"Первая категория"),
    	1=>array("id"=>"2", "parent"=>"", "name"=>"Вторая категория")
    	);
    
    $subCat = array(
    	0=>["id"=>"3", "parent"=>"2", "name"=>"Подкатегория первая"],
    	1=>["id"=>"4", "parent"=>"2", "name"=>"Подкатегория вторая"]
    	);
    
    echo "<pre>";
    print_r($mainCat);
    echo "</pre>";
    
    echo "<pre>";
    print_r($subCat);
    echo "</pre>";
    
    function searchForId($id, $array) {
       foreach ($array as $val) {
           if ($val['parent'] === $id) {
               $a[] = $val['id'];
           }
       }
       return $a;
    }
    
    $id = searchForId('2', $subCat);
    echo 'У категории найдены следующие подкатегории: '; print_r($id);
    ?>
    Ответ написан
  • Бесплатый (очень бюджетный) web-хостинг с поддержкой SSL и HTTP/2?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Timeweb.
    Ответ написан
    Комментировать
  • Где файлы ядра CMS Joomla?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Нет документации??? Ты в адеквате вообще? А это что: https://docs.joomla.org/Main_Page

    Если ты элементарные вещи нагуглить не можешь то и в ядре не разберешься подавно.
    Ответ написан
    Комментировать
  • На чем програмируется корзина на сайте?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    На чем угодно так как она работает с сессиями и базой данных, язык программирования тут может быть любой.
    Ответ написан
    Комментировать
  • Проверка PHP на безопасность?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Никак. И если ты собираешься ставить палёный варез то лучше сразу удали свой сайт с хостинга, как говорится "не можешь срать - не мучай жопу".
    Ответ написан
    2 комментария
  • Как изменить тип поля?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Добавить в head скрипт:
    <script src='https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js' referrerpolicy="origin"></script>
      <script>
      tinymce.init({
        selector: '#mytextarea'
      });
      </script>

    И далее назначить селектор своему полю к которому нужно сделать редактор:
    <form method="post">
        <textarea id="mytextarea" name="mytextarea">Hello, World!</textarea>
      </form>

    Короче документация: https://www.tiny.cloud/docs/quick-start/
    НО! У тебя валидатор формы скорее всего будет удалять все html тэги, поэтому надо еще с ним пошаманить.
    Ответ написан
    Комментировать
  • Как создать свою тему на OpenCart?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Дэфолтный шаблон Open Cart это тупо Бутстрап Html+twig. Создаешь свою папку в папке theme и вперед!
    Документация по бутстрапу есть на русском.
    5da8b943d2981042982296.png
    Ответ написан
    Комментировать
  • Можно ли устриться на работу не имея нормальных проектов?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Делай как Лебедев в дизайне - придумай 5-10 вымышленных проектов, поработай над ними и потом с "папкой" готовых проектов стучись на работу, показывая эти свои работы. Портфолио у тебя в любом случае должно быть.
    Ответ написан
    Комментировать
  • Кто то читает журнал Хакер?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    то то читает журнал "Хакер" по платной подписке?
    - с какой целью взимается плата?! С целью ремонта провала. Чтобы не слишком проваливался!
    5da826966ded8580275869.jpeg
    Ответ написан
    Комментировать
  • Как изучать java после обычного курса SoloLearn?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Ответ написан
    Комментировать
  • Безопасная загрузка файлов на сервер?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Вот неплохая статья: https://habr.com/ru/post/44610/
    Ответ написан
    Комментировать