• Как создать страницы с акциями на 1С Битрикс?

    @tgarl
    У товара нет таких свойств. Это совсем разные сущности.
    Нагуглить ничего подходящего не подучилось

    Плохо гуглили если не получилось, я разу нашел вариант (ссылка), но не проверял.
    Вообще тема со скидками очень специфическая(хотя в целом в битриксе очень много чего вроде как есть, но требует написания своего). Вроде и инструмент сделали очень мощный, но как не столкнусь, так нельзя и так нельзя(
    Ответ написан
    2 комментария
  • Куда прописать alert, что данные отправлены?

    Stalker_RED
    @Stalker_RED
    Так он уже есть
    if (response.ok) {
        // ...
        alert(result.message);
    Ответ написан
    1 комментарий
  • Как сделать редирект на ссылку в новом окне в php?

    Lastor
    @Lastor
    В чем сила, брат? В ньютонах.
    window.open(<?php echo $r['Id']; ?>, '_blank')

    Но лучше стремиться к тому, чтобы js и php жили порознь:
    <input type="hidden" id="url" value="<?php echo $r['Id']; ?>"/>
    window.open($('#url').value, '_blank')
    Ответ написан
    4 комментария
  • Изменения в разметке Bitrix?

    Real_Fermer
    @Real_Fermer
    Программист PHP
    самый верный способ - пройти курс битрикс контент менеджер.
    Там все ответы есть.
    Другой - неправильный. Самому найти комопонент в котором надо внести изменения. в компоненте найти шаблон. и в шаблоне в файле template.php внести изменения
    Ответ написан
    Комментировать
  • Как сделать в MySQL изменение поля строки через время?

    Lastor
    @Lastor
    В чем сила, брат? В ньютонах.
    Вообще это очень нерационально гонять mysql почем зря каждую секунду.
    Более целесообразно при выборке вместо поля suc проверять разницу текущего времени с полем date.
    например
    select * from tableName where `date` > now() - interval 10 day

    А если suc принципиально нужен, то:
    select id, login, `date`, (`date` > now() - interval 10 day) as suc from tableName
    Ответ написан
    Комментировать
  • Как заполнить пустой массив хеш таблицей из другого массива php?

    Stalker_RED
    @Stalker_RED
    Ошибка в ничем. Код работает: https://ideone.com/UQ1EGS

    И вот такой код работает, причем вообще без циклов. На больших массивах разница в скорости будет заметна.
    $result = ['data' => [
    	'main'      => $keywords['data'],
    	'secondary' => $keywords['data'],
    ]];
    https://ideone.com/fi0l5o

    А если вам не просто сдублировать, то откройте для себя array_filter()
    Ответ написан
    Комментировать
  • Какие способы декодирования существуют в PHP?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Обычный обфусцированный код.
    Достаточно отворматировать, чтобы уловить что там

    \x74\x69\155\145 - юникодная запись = time
    (upd: подобные строки легко перевести в читамеый вид, закинув ее в consol.log в браузере
    Или в phpStorm Вырезать/Вставить Ctrl-X/Ctrl-V)

    $O8666750554638273663 - переменная
    O6505149678668561343: - метка

    $list = ["openInventory" => [
      "name" => "Taking Inventory",
      "requires" => []
    ];


    public function __construct(Server $O8666750554638273663) {
            goto O1970219884901744879;
    
            O6505149678668561343:
            $O1777212593691497481 = @fopen($this->path, "wb");
            goto O4083818622447351734;
    
            O3393899177948378635:
            $this->fp = $O1777212593691497481;
            goto O0537484758143303834;
    
            O8048393773490650940:
            $this->encodeData();
            goto O2278372111902823051;
    
            O2791274778590356360:
            $this->generalData();
            goto O8382244228756303546;
    
            O1005405451303321896:
            $this->data["time"] = $this->time;
            goto O6370898434236048902;
    
            O8942154602257954378:


    Можно закинуть в IDE, сделать автоформат, посидеть, переименовав переменные в нормальные имена и всё. А если дорабатывать собрались, то пожалуй стоит сделать рефакторинг, избавившись от goto. Тут придется посидеть подольше.
    Ответ написан
    Комментировать
  • Почему canvas на телефоне работает по другому?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    В codepen я нашел интересный проект...

    Это WebGL Fluid Simulation. И оригинальная ее версия на телефонах работает хорошо. Вы нашли какую-то из вариаций на тему этой штуки. Думаю для вас будет проще взять оригинал, а не отлаживать тот пример, который вы нашли.
    Ответ написан
    1 комментарий
  • Как оптимизировать таблицу с JSON строкой в mysql?

    Lastor
    @Lastor
    В чем сила, брат? В ньютонах.
    Если вы уверены в том, что в обозримом будущем вам не понадобится поиск по другим полям или вы точно не захотите сделать join с их участием, то json будет работать быстрее. И сохранять его проще.
    А если потом захотите, то придётся создать дополнительные таблицы, и сохранить как нормализованные данные.
    Но эта задача не сложна и всего лишь потенциальна (может и не понадобится).
    Ответ написан
    6 комментариев
  • Как сменить подпись создателя коммита jetBrains?

    xez
    @xez
    TL Junior Roo
    https://git-scm.com/book/ru/v2/Введение-Первоначал...

    Первое, что вам следует сделать после установки Git — указать ваше имя и адрес электронной почты. Это важно, потому что каждый коммит в Git содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена:

    $ git config --global user.name "John Doe"
    $ git config --global user.email johndoe@example.com


    Ответ написан
    Комментировать
  • Как настроить SSL сертификат на нескольких серверах, имея лишь одно доменное имя?

    vabka
    @vabka
    Токсичный шарпист

    но у меня есть лишь одно доменное имя

    Имея доменное имя, обычно, можно создать сколько угодно поддоменов.


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

    Сертификат тебе нужен только в одном случае - если ты делаешь публично доступный по Https сайт или сервис.

    Если ты делаешь сервис только для других своих сервисов, то можешь использовать самоподписанные сертификаты.
    Если ты общаешься не по Https (как в случае с базой данных", то тебе Https-сертификат тоже не нужен. (Если база данных поддерживает TLS, то можно тоже воспользоваться самоподписанным)
    Ответ написан
    Комментировать
  • Как мне сделать фильтрацию по категориям, из базы данных (mysql)?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Для начала надо выучить русский язык и узнать, что означает слово "сортировка"
    Потом надо выучить SQL, чтобы узнать, каким образом можно ограничить выборку по условию.
    Потом надо выучить HTML чтобы узнать, как можно передать выбор пользователя на сервер
    Потом надо выучить РНР чтобы узнать, как можно взять переданное из HTML значение и подставить его в SQL запрос, выполнить этот запрос, и вывести результат.
    Ответ написан
    Комментировать
  • Почему не удаляется класс по setTimeout?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Классическая потеря this. Правда, странно, что при этом нет ошибок в консоли, когда вы на window пытаетесь removeClass вызвать.

    $(".box43z6r6QZ").click(function(){
       var $el = $(this);
    
        $el.addClass("hG8KlY3Q");
    
        setTimeout(function(){
            $el.removeClass("hG8KlY3Q");
        }, 1000);
    });
    Ответ написан
    Комментировать
  • PHPStan проверка свойства класса при наследовании?

    @nolotion
    стан тебе все правильно говорит - ты объявляешь параметр объекта класса A, а обращаешься к атрибутам которых там нет.
    если у тебя кейс "а я так не вызываю" - то и пиши правильную сигнатуру метода: public static function price(B $objectB)

    потому что если твой говнокод в классе C будет использовать другой разработчик - то он передаст тебе какой-нибудь объект D extends A без опшинов и будет прав, потому что ты сам написал такой контракт
    а твой код упадет
    Ответ написан
    Комментировать
  • Почему у php недостаточно прав на перезапись файлов?

    Stalker_RED
    @Stalker_RED
    Запускается через php скрипт.
    как именно запускается? Через SSH-консоль, через вебсервер, может через крон? Это все может быть под разными пользователями.

    Для начала разобраться какие пользователи вообще замешаны. Для этого на боевом сервере делаешь эксперимент:
    создаешь файлик от имени обычного скрипта, от имени вашего опртимизатора, и от имени фтп-заливки.
    Вот прям создай папочку "test" и залей в нее hello_ftp.txt через ftp
    Затем из php скрипта сделай file_put_contents('test/hello_php.txt', 'foo');
    И в оптимизатор тоже добавь похожее file_put_contents('test/hello_optimizator.txt', 'foo');

    Затем зайди через SSH в папку test, напиши ls -l
    Если SSH нет, то можно опять-же сделать скриптом
    $files = glob('/path/to/test/*');
    foreach ($files as $fn) {
        echo $fn . ' | ' . fileowner($fn) . '<br>' . PHP_EOL;
    }

    Скорее всего найдутся отличия. Останется придумать как изменить способ запуска, чтобы проблема не поворялась в будущем, ну и поправить владельца у уже существующих файлов (chown).
    Ответ написан
    3 комментария
  • Как отправить форму на почту с помощью PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    PHP файл, который должен отправлять форму мне на почту.
    Не должен, должен передать в очередь отправки. Дальше система сама решает что делать.

    Подскажите, пожалуйста, в чем моя ошибка?
    Использование внутренней функции mail() оправдано только в случае если это полностью контролируемый и настроенный вами сервер.

    Используйте phpmailer/swiftmailer.
    Ответ написан
    1 комментарий
  • Как скопировать файл на ext4 image без прав root?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Да, можно, используя debugfs:

    $ dd if=/dev/zero of=test.img bs=1M count=10
    $ mkfs.ext4 test.img
    $ debugfs -w test.img
    debugfs: write my_file.txt new_file.txt
    Ответ написан
    1 комментарий
  • Как сделать чтобы PHP скрипт по завершении работы отправлял на фронт уведомление?

    vabka
    @vabka
    Токсичный шарпист

    Или например при выполнении скрипта на бэке записывать в базу результат а фронт будет через 5 минут спрашивать бэк все ли готово?

    Этот вариант в любом случае придётся реализовать, тк ты не можешь гарантировать, что всё время от запроса до итогового результата у пользователя будет работать сеть.

    Я рекомендую всётаки озадачиться вебсокетами, тк это сейчас наиболее стандартный спобом общения клиента с сервером в реальном времени.

    Без вебсокетов можно попробовать server sent events, но лично я никогда ихне пробовал и не знаю подводных.
    Ответ написан
    Комментировать
  • Какой движок для магазина выбрать? как дела у shop-script?

    Sanes
    @Sanes
    Я бы выбрал CS-Cart. Есть Community версия с незначительными ограничениями. В вашем случае может быть избыточным. Для совсем простого магазина посмотрел бы Modx+Minishop.
    Ответ написан
    Комментировать
  • Как выдернуть объект из массива с самым длинным полем?

    ms-dred
    @ms-dred Автор вопроса
    Вечно что то не то и что то не так...
    array.reduce((prev, cur) => cur.field.length > prev.field.length ? cur : prev)
    Ответ написан
    Комментировать