Вход • Регистрация

Всего найдено: 5656

  • 23 сентября , редакция: 1727080324
  • Это форма оформления не основного заказа, а форма оформления заказа в один клик, скорее всего. Там капчу обычно не ставят. Попробуйте отключить в настройках магазина эту галку и посмотреть продолжится ли спам
    Цитата
    Зачем это делают?
    Так это боты. Им пофиг, они сайт не видят, они видят html-источник. Нашли сайт, и давай по ссылкам ходить, открыли страницу товара , смотрят, о, форма какая-то - значит надо заполнить своим спамом, авось куда-нибудь долетит и опубликуется. Заполнили, отправили. Один раз форма сработала и всё, ставится на автомат и погнали лупить туда весь спам, какой есть.
  • 10 июня
  • У нас доступ ко всем файлам есть, конечно, но на бесплатном и тестовом шаблон править мы не всегда охотно бросаемся )
    Цитата
    беда что текст начинается с разделителя ":" . Нельзя ли как-то убрать разделитель?
    Там заголовок характеристики должен быть скорее всего, который не поставили, а двоеточие не убрали. Да, в шаблоне можно поправить
  • 9 июня
  • Цитата
    Не особо разбираюсь в БД, если что не сильно закидывайте кирпичами )))

    Цитата
    А если несколько полей за один запрос получить надо, то правильно понимаю должно быть чтото типа этого?

    Дмитрий, не путайте как раз ещё методы обращения к БД и получаемые результаты ;)

    Киньте глаз на документацию https://www.diafan.ru/dokument/full-manual/developers/includes/database/
    Где начинается:

    DB::query_result () - просто запрос и просто ответ в одну переменную, как его БД отдаст, обычно, когда нужно просто получить быстрый, точный конкретный результат при LIMIT 1, например, получить id или name
    DB::query_fetch_array () - это будет уже массив, где поля БД - индексы массива, когда надо получить строку из БД
    DB::query_fetch_all () - это будет двумерный массив, где будет куча строк из БД на первом уровне порядковые номера строк от 0,1,2,3 и пр, а в каждом элементе уже вторая вложенность с индексами из названия полей БД
    DB::query_range_fetch_all - то же самое, что выше, но не все, а можно указывать range, типа limit 100, 100

    Цитата
    $autor= DB::query_result("SELECT name1, keywords1 FROM {clauses} WHERE id='%h'", $autorID);

    То есть, не DB::query_result ;))))
  • 9 июня , редакция: 1717943697
  • Дальше! Вот так не надо:
    Код
    $autor = DB::query_fetch_all("SELECT autor, name1 FROM {site} AS s INNER JOIN {clauses} WHERE id='.$autorID.'");

    Всегда указывайте маску (%s, %d, %h, %fи пр.) и выносите переменную за скобки. Так Вы от sqlinjection застрахуетесь, система за Вас всю фильтрацию сделает )
    Как у Александры
    Код
    $autor= DB::query_result("SELECT name1 FROM {clauses} WHERE id='%h'", $autorID);

    НО! Александра, зачем маска %h? ))
    %h - это для текстовых переменных без HTML, то есть, чтобы в передаваемой в запрос строковой переменной почистились всякие теги, если они есть. Эту маску нужно использовать, когда передается строка и там не было ничего кроме символов и цифр.
    Код
    DB::query_result("SELECT id FROM {clauses} WHERE name='%h'", $autorNAME);
    - например в таком запросе да, надо %H
    А если у нас заведомо числовая переменная и числовое поле БД, то надо маску %d - digit, цифры

    Код
    $autor= DB::query_result("SELECT name1 FROM {clauses} WHERE id='%d'", $autorID);
    - вот так, тут кроме цифр ничего не пролезет

    И ещё момент!
    Поле name1 - здесь 1- это номер языковой версии для переводимого поля.
    Если на сайте два языка, в таблице будет name1 и name2 в БД.
    Если 3, будет name1, name2, name3 и т.д.
    Мы же не будем отбирать каждый раз name1 или name3 для каждой версии?
    Поэтому в запросах переводимые поля можно запрашивать просто в квадратных скобках: [name] и система автоматически подставит 1 (или иной индекс текущего языка в системе)

    То есть, итого:
    Код
    $autor= DB::query_result("SELECT [name] FROM {clauses} WHERE id='%d'", $autorID);
  • 11 марта
  • Цитата
    Может быть есть возможность вставить код iframe в это место??

    Код Вы и вставляете, в нём можно width и height поменять на вертикальные и вставить.
    Но может на сайте в карточке товара уже css его как-то меняет. В таких случаях нужно прилагать ссылку на сайт на товар, где вставлено видео и тогда можно будет сказать конкретно, как его развернуть
  • 24 января
  • Цитата
    вывод "старой цены" чтобы можно было менять без открытия карточки товара
    Это же несложно, там же массив под fast_edit. Подсказать? Или пусть исполнитель сделает?
  • 17 января , редакция: 1705491599
  • По поведению выглядит, как будто Аякс не получает ответа о завершении загрузки. Или получает его в неверном формате. А это бывает, когда включен режим разработки и есть какие-то предупреждения на сайте, которые лезут в json и ломают ответ.
    Включён режим разработки?
  • 18 января
  • Ну консольку откройте, вкладку Network, и когда загружаете файл, будет видно отправляемый запрос, куда он идёт и какой там ответ. В ответе будет либо success, либо какое-то сообщение, по которому должно быть понятно, в чём проблема
  • 15 января
  • А вот же наш партнер когда ещё писал https://searchengines.guru/ru/forum/925143
    Цитата
    Дубликаты URL в каталога, меню, благодаря отсутствию элементарных проверок в CMS на существование роута;
    Кривых каталоги продукции с дулями товаров, о которых узнаешь уже из поискового индекса;
    Кривая пагинация, которая вообще не в курсе сколько реально страниц на сайте;
    Кривые ридеректы;
    404 ошибки, которые продолжают отображать контент страницы;
    Ужасные куски непонятного кода;
    Не внятная работа хлебных крошек, банальными косяками типа ссылка сама на себя;
    Кривая работа ЧПУ;
    И еще бесконечно большая куча ошибок

    Цитата
    Лидером в производстве кривого платного софта я считаю Bitrix. Привет парни :) Вы обеспечиваете работой многих оптимизаторов!

    🤷🏻‍♂️
  • 30 декабря 2023 г.
  • Вы либо в багтреке пишите, либо на форуме. Зачем копипастить?
    Я ответил в багтреке https://user.diafan.ru/wishlist/show4180/
    Цитата
    суть в том чтоб наложить купон поверх других скидок

    Так нельзя делать. В алгоритме коробки точно. Себе можете костыль сделать, если контролируете купоны вручную на своём магазине, но это логическая ошибка.
  • 12 декабря 2023 г.
  • cart.action.php
    order()
    Перед оформлением заказа у нас стоит:
    Код
    foreach($cart["rows"] as $row)
    {
    if($row["price_count"] < $row["count"])
    {
    $this->result["errors"][0] = $this->diafan->_('К сожалению, закончился товар %s. Пожалуйста, отредактируйте заказ.', false, $row["good"]["name"._LANG]);
    return;
    }
    }

    Так что, не важно, когда положили в корзину, только что или неделю назад, заказ он не оформит.
    Версия какая-нибудь старая может? Или action лежит в custom?
  • 12 декабря 2023 г.
  • Цитата
    Но пользуешься кнопочкой "Нет в наличии" и закрываешь товар к покупке.Но пользуешься кнопочкой "Нет в наличии" и закрываешь товар к покупке.

    Ааа, кнопочкой! То есть, в одном поле у товара остатки есть, но в то же время "Нет в наличии"? Ну такооооое.... )))
    Это да, это мы не проверяем.

    Ну давайте и эту проверку поставим, ладно. Хотя кто-нибудь через полгода скажет, чего за фигня, я остатки обновил, было 0, стало 10, а купить нельзя, так как галка "Нет в наличии" стоит ) Хотя может галка и приоритетнее
  • 13 декабря 2023 г.
  • Поправили, в обновлении сегодня выйдет
    Куму вручную:
    Код
    foreach($cart["rows"] as $row)
    {
    if($row["good"]["no_buy"])
    {
    $this->result["errors"][0] = $this->diafan->_('К сожалению, товар %s больше не в наличии. Пожалуйста, отредактируйте заказ.', false, $row["good"]["name"._LANG]);
    return;
    }
    if($row["price_count"] < $row["count"])
    {
    $this->result["errors"][0] = $this->diafan->_('К сожалению, закончился товар %s. Пожалуйста, отредактируйте заказ.', false, $row["good"]["name"._LANG]);
    return;
    }
    }
  • 28 ноября 2023 г.
  • Да, бывает две формы заказа, типа обычная и скрытая в display none для мобильной версии, на сайте не видно, но ajax две формы видит в источнике и пуляет обе.

    Но вот с этим не сходится по поведению
    Цитата
    При добавлении в корзину разными пользователями одного товара, улетает 2 товара двум разным пользователям
  • 20 августа 2023 г.
  • Цитата
    Я всё понимаю, но зачем так неожиданно блокировать?

    Когда какой-то сайт вызывает нагрузку, берет 100% CPU, например, все сайты на сервере начинают тормозить, вплоть до отсутствия ответа. И так и эдак Ваш сайт бы не работал, или по причине нагрузки или по причине блокировки. Но тогда мы бы получили ещё тонну претензий от тонны других пользователей))

    Мы обычно сами разбираемся с причинами большинства нагрузок, если есть доступ в админку. Частенько бывает, косячат сами пользователи, то какой-то левый виджет поставят, то какие-то левые скрипты загрузят и запустят, то криво доработают CMS, добавив запросы SQL, которые вешают сервак, то импорт на крон поставят, где тысячи товаров с десятками картинок импортируются по кругу, то в 1С выгрузку полную поставят на синхронизацию каждые 30 минут и т.п. )) В Вашем случае, доступа в админку не было, пароль не подошёл, поэтому пришлось заблокировать и отписаться. Мы в таких случаях, конечно, по три дня не отвечаем, а гораздо оперативнее, вплоть до ночи )
Показывать по:

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум