Ответы пользователя по тегу HTML
  • Как загрузить файл через форму?

    @SergeTkach
    OpenCart Forever
    $_POST['file-input'] вроде и не должен что-то содержать. Уже и не помню. Но работать надо с $_FILES - это точно.

    И ещё попробуйте кнопку submit поставить в конец формы. И на всякий случай, чтобы посмотреть, что происходит, сделайте var_dump $GLOBALS и на время закомментрируйте редирект. Хотя, по идее он и так не отработает при наличии вывода до него

    И, кстати, проверять запрос лучше вот так:

    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
         // The request is using the POST method
    }


    Там ещё вот эта штука не помешает

    <!-- Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла -->
        <input type="hidden" name="MAX_FILE_SIZE" value="30000" />


    Хотя, это ж ещё надо проверить в phpinfo() какое там текущее значение со стороны сервера допускается
    Ответ написан
    Комментировать
  • Автоматические мета-теги?

    @SergeTkach
    OpenCart Forever
    Наверное, для такой простой фразы достаточно внести ее прямо в код.

    Находим следующий код контроллера. Для этого в файле "catalog/controller/product/product.php" находим следующую строку:

    $this->document->setTitle($product_info['meta_title']);


    P.S.
    И помните, клиент платит за работающее решение в кратчайшие сроки, а не за количество собственноручно написанного кода.
    И перед ней вставляем следующий код:
    // Проверям, что мета-теги не пусты + что контент-менеджер не скопипастил название тоавар, что тоже случается :)
    if (!$product_info['meta_title'] && $product_info['meta_title'] != $product_info['name']) {
        $product_info['meta_title'] = 'Купить ' . $product_info['name'] . ' в Москве';
    }
    
    if (!$product_info['meta_description'] && $product_info['meta_description'] != $product_info['name']) {
        $product_info['meta_description'] = $product_info['name'] . ' Купить в Москве по выгодным ценам';
    }


    Но такие простые мета-теги не всегда подходят. К примеру:
    • Мультиязычный магазин
    • Вы хотите добавить в мета-теги цифры. Цена - самое то. Но можно также кол-во отзывов, рейтинг
    • Вы хотите добавить в мета-теги название города, но у Вас не один город. К примеру, у Вас подмагазины для городов (используется CityManager или мультимагазин)
    • Вы хотите вписать категорию товара
    • Вы хотите прописать значимые (ключевые) атрибуты товара
    • Вы хотите автоматизировать заполнение мета-тегов и для категорий. И там использовать такие данные, как кол-во товаров в категории, максимальная или минимальная цена в категории


    В таких случаях написание кода, который это реализует займет день или несколько дней, в зависимости от конечной задачи. А еще представьте, что Вы уже сдали проект, и начали делать что-то совсем другое. А заказчик звонит через пару дней и говорит: надо изменить фразу. И что, снова лезть в код и менять?

    Проще использовать модуль в котором все перечисленное уже есть. И формулы мета-тегов задаются пользователем в админке сайта. К примеру, есть модуль для автоматического заполнения мета-тегов SEO Tags Generator.

    Там, кстати, есть настройка автоматической подстановки только в том случае, если мета-теги не заполнены. Убираются лишние пробелы (чего только не бывает при импорте товаров из 1С...) Можно использовать условие, что если товар стоит больше 1500 р, доставка бесплатно (тоже неплохое преимущество среди конкурентных сниппетов).

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

    Самое интересное, что цена модуля равняется всего 3 часам работы программиста (средняя зп 68 791 ₽) по данным на 02.03.2021

    P.S.
    И помните, клиент платит за работающее решение в разумно быстрые сроки, а не за количество собственноручно написанного кода!
    Ответ написан
    Комментировать
  • Как сделать вывод meta-данных в opencart?

    @SergeTkach
    OpenCart Forever
    Вопрос явно устарел. Но я попал в него из топ выдачи Яндекса. Значит, оно стоит того, чтобы здесь отписаться:)

    В таких случаях делается вот так:

    var_dump($manufacturer_info['meta_title']);

    Так Вы точно будете знать, что находится в переменной в конкретной части программы скрипта.
    Ответ написан
    Комментировать
  • Почему после правки кода на сайте ни чего не меняется?

    @SergeTkach
    OpenCart Forever
    Внимание!
    Способ, который нащупан автором вопроса, не является оптимальным. Необходимо использовать встроенный в систему инструментарий для обновления кеша модификаторов!
    Ответ написан
    Комментировать
  • Как сделать(с генерировать) sitemap.xml для opencart 2.0?

    @SergeTkach
    OpenCart Forever
    Ни в коем случае не используйте встроенный Google Sitemap на магазинах с кол-вом товара более 10 000. Получите ошибку Fatal error: Maximum execution time of 30 seconds exceeded in.... Лучше использовать платный модуль, к примеру, мой Branched Sitemap.

    Для мелких магазинов, которым подойдет встроенный Google Sitemap, также необходимо использовать еще одно бесплатное расширение Yandex Sitemap opencart для генерации карты сайта под Яндекс (которые не принимает теги картинок).

    Соответственно, лучше не прописывать адрес карты сайта в robots.txt, а отправить в инструменты для вебмастеров Google и Яндекса по отдельности.
    Ответ написан
    4 комментария
  • Редактор кода на linux?

    @SergeTkach
    OpenCart Forever
    А как насчет NetBeans?
    Ответ написан
    Комментировать
  • Какими инструментами создания разметки вы пользуетесь?

    @SergeTkach
    OpenCart Forever
    UPDATE 12.02.2016

    Почитал про flex - html5.by/blog/flexbox (можно начать с пункта "Демо основных свойств flex-контейнера") Не поддерживает опять же только IE и еще какой-то малоизвестный браузер.

    { Мне реально очень понравилось } Пробую применить в верстке в реальном сайте. Потом напишу окончательное мнение ))

    --------------------------
    Хм... А в чем проблема Float' ов????

    Много читал насмешек над ним. Но какая альтернатива? Если кто знает, объясните. А то я никак не могу понять.

    Зачем мне писать inline-block* или table-cell для нормальных браузеров, а потом еще и для IE писать float: left, если можно сразу написать float: left + clear: both в ::after. Причем clear можно для разных блоков при разных условиях по media-query.

    Кстати, как раз изучал Приемы отзывчивого веб-дизайна https://developers.google.com/web/fundamentals/des... и там таки используется flex, тогда как в учебном проекте https://googlesamples.github.io/web-fundamentals/s... используется FLOAT!!

    * Кстати inline-block добавляет лишний пиксель отступа, что мешает при расчетах, если кому нужны рассчеты (например, при использовании LESS)
    Ответ написан
    4 комментария