• Как поместить элементы массива в input?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    Сергей Соколов, Сделал по аналоги на jquery (уж начал на неё фигачит, мешать с нативным не захотел), все получилось. Спасибо за объяснение!!
    $(window).on('load', function () {
        let decoded = JSON.parse(localStorage.getItem('task7'));
        $.each(decoded, (item, value) => {
            let getId = value.id;
            let getValue = value.value;
    
            let getInput = $('input#' + getId);
            if (getInput) {
                getInput.val(getValue);
            }else {
                console.log('localStorage пуст!');
            }
        });
    });
  • Как поместить элементы массива в input?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    А ведь я собирал данные той же функцией. Не догадался, что обратный процесс можно сделать её. Спасибо!

    Более по-взрослому будет дать input'ам уникальные id и сохранять их вместе со значениями. При восстановлении обращаться к элементам по id.

    А могли бы объяснить. Вот разметка html
    spoiler
    <input id="id1" type="text">
    <input id="id2" type="text">
    <input id="id3" type="text">
    <button type="button" class="getData">Получить все данные</button>


    Первая часть задачи тоже не вызывает проблем, добавляю в хранилище не только значения но id элементов:
    spoiler
    $('.getData').on('click', function (event) {
        event.preventDefault();
        let array = [];
        $('input').each(function () {
            let id = $(this).attr('id');
            let value = $(this).val();
            array.push({id, value});
        });
        localStorage.setItem('task7', JSON.stringify(array));
    });


    А вот обратно появляются сложности
    spoiler
    $(window).on('load', function () {
        let decode = JSON.parse(localStorage.getItem('task7'));
        $('input').each(function (id, value) {
           console.log(id);
           console.log(value); 
           //$(this[id]).val(decode[value]);
        })
    });

    Подскажите, как получить id из хранилища, как понял
    let decode = JSON.parse(localStorage.getItem('task7'));
    уже не достаточно?
  • Как поместить элементы массива в input?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    Andrew, не с пользователем, а блок задач относиться к работе с localStorage. Поэтому сначала в него сохраняю, а после перевожу обратно в массив и пытаюсь распихать по своим местам.
  • Как поместить элементы массива в input?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    Артем Будин, Артем Будин, хотел сразу же так и сделать. После получения из хранилища разбить строку и присваивать каждому инпуту соответствующий элемент массива. Но вроде как на костыль смахивает :)
  • Ошибка в коде .php как решить?

    yaleksandr89
    @yaleksandr89
    RobShneider, нет. Я бы вам настоятельно не рекомендовал пытаться править шаблон не зная синтаксиса php. Можно ситуацию ещё усугубить.

    5da76a4806778098273859.png
  • Ошибка в коде .php как решить?

    yaleksandr89
    @yaleksandr89
    RobShneider, нет.
    выше проверки у вас идет функция загрузки виджета, а проверка уже идет в её "теле".
    Сам же хук (add_action) на который вы вешаете функцию ни в какие фигурные скобки оборачивать не надо.
  • Ошибка в коде .php как решить?

    yaleksandr89
    @yaleksandr89
    RobShneider, нет, я повторюсь тут две }} и одна { это парные символы и сколько открытых , столько и закрытых должно быть.5da7610cd19ce325142077.png
  • Ошибка в коде .php как решить?

    yaleksandr89
    @yaleksandr89
    RobShneider,
    if (!register_widget( 'Radiantthemes_Facebook_Widget' ))  {
      register_widget( 'Radiantthemes_Facebook_Widget' );
    }

    А вставить ещё одну } нужно в 205. А вообще плохая практика пользоваться встроенным редакторм. Есть куча дружелюбных и бесплатных IDE :)
  • Ошибка в коде .php как решить?

    yaleksandr89
    @yaleksandr89
    RobShneider, пропущена фигурная скобка. Видно же что две {{ и одна }
  • Ошибка в коде .php как решить?

    yaleksandr89
    @yaleksandr89
    Можно попробовать сделать проверку, зарегистрирован ли виджет или нет:
    if (!register_widget('Radian....ну и дальше, не удобно с картинки перепечатывать :)')) {
        register_widget('Radian....ну и дальше, не удобно с картинки перепечатывать :)');
    }


    Стойте, только увидел путь открытого файла. Это директория плагина, в ней не рекомендуется делать какие-либо изменения! Так как при обновление плагина - все затрется...
    Вы не то открыли, ищите в файле с темой (на скрине это первый путь который ведет в theme)
  • Как реализовать удаление записи из таблицы?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    Daria Motorina, c перезагрузкой страницы не комильфо :), тогда можно было ajax не юзать, а просто в обработчике написать, что-то типа
    header('Location: /admin'); // /admin - контроллер отвечающий за вывод админки.
    exit;


    У меня получилось практически, как у вас:
    $(function () {
        $('a.handler-del').on('click', function (event) {
            event.preventDefault();
            let idUrl = 'id=' + $(this).data('id');
    
            $.ajax({
                type: 'post',
                url: 'app/helper/del_url.php',
                data: idUrl,
                success: function (result) {
                    //window.location.href = "/admin";  //Это аналог header('Location: ...'); exit;
                    //$('.test-ajax').html(result) // Скорей всего этот вариант правильный, не могу его до ума довести
                },
                error: function () {
                    // А не подскажите, что сюда засовывать? Тупо result, почему-то мне кажется нет :)
                }
            });
        });
    });


    Пара вопросов, всегда ли надо указывать dataType: "json". Мой вариант с точки зрения составления самого запроса (не считая success: ) имеет право быть или все же стоит указывать формат json и передавать data: ... как вы написали?

    Вы написали, что можно удалить строчку js? А как? У себя в обработчике я прописал
    $('.test-ajax').html(result)

    Сам класс test-ajax вешал на tr, который в цикле foreeach, но но при клике, все пункты пропадают, а как заставить пропасть только тот, который удалил (id которого ушло в обработчик) не разберусь :(

    Сама разметка админки выглядит, не подскажите что нужно указать в success:
    что бы элемент удалялся без перезагрузки страницы?
  • Как реализовать удаление записи из таблицы?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    Daria Motorina,
    И с ajax было бы идеально. Но у нас все отношения не складываются :)). Что бы реализовать удаление без перезагрузки страницы, правильно ли я понял.
    <a href="#" data-id="<?= $value['created_short_id'] ?>"
       class="badge badge-danger badge_custom handler-del">
        <i class="fas fa-trash-alt fa_pencil_alt_custom"></i>
    </a>


    А вот как реализовать сам ajax запрос, что-то вроде:
    $(function () {
        $('handler-del').on('click', function () {
            let idUrl = $(this).attr('name');
    
            $.ajax({
                type: 'get',
                url: 'app/helper/del_url.php',
                data: idUrl,
                success: function (result) {
                    // Что нужно указать в случае успеха? Перезагрузку страницы или что-то ещё о_О
                },
                error: function () {
                    alert('Ajax error =(');
                }
            });
        });
    });
  • Как реализовать удаление записи из таблицы?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    FanatPHP, а не подскажите как передать постом?

    Get - идет через адресную строку, тут вопросов у меня нет, я даже не задумался если вы предложили id передать через сессию или куки (так вообще делают? просто интересно).

    Но как передают через post, с учетом, что вывод у меня идет не в form, а таблицей?
  • Как реализовать удаление записи из таблицы?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    Покажи, как удалять хотел, ты сам SQL-запрос хотел засунуть в тег a или как?

    Я вешал не сам запрос, а переменную куда он был помещен.

    Дарья навела на правильную мысль. А вы её подтвердили :)
    Попробую сделать сейчас.
  • Как реализовать удаление записи из таблицы?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    блин, а я пробовал вешать или переменную, которая указывала на запрос (удаления), либо пытался вкорячить функцию. Блин и ведь даже мысли не промелькнуло, что на ссылку нужно вешать обработчик :)

    Спасибо попробую :)
  • Как составить SQL запрос?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    Спасибо, что разжевали объяснили на пальцах!
  • Как составить SQL запрос?

    yaleksandr89
    @yaleksandr89 Автор вопроса
    FanatPHP,
    может соответствовать только 1 короткий

    так точно.

    Но непонятно тогда, при чем тут пользователи и даты.

    а ведь вы в точку подметили :)
    Дата нужна для вывода информации в админку, сервис будет поддерживать возможность авторизоваться и в самой админку будут подгружаться добавленные в БД ссылки.
    Насчет пользователя я не совсем понял, возможно вы имели ввиду колонку - id_shortener, то эта колонка нужна, что бы по ней можно было производить удаление конкретной записи.