• Есть ли какие-то плагины для создания системы управления базой пользователей на Wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Готового решения нет.
    Вы можете скомпоновать несколько плагинов и создать нужное...

    1) Wp Recal для реализации личного кабинета
    2) Для отправки формы с файлами админу - используйте ACF (acf_form() ) или же CF7. Смотря, что именно нужно и насколько потребуется кастомизировать форму. Я бы выбрад acf.
    3)
    Для каждого пользователя необходимо отправлять форму для оплаты услуг.

    это скорее всего надо будет уже написать самому, можно даже написать используя acf.
    или же наберите в интернете wordpress invoice и поищите плагины, которые предлагают реализовать отправку счетов для оплаты. Остается подобрать подходящий и интегрировать с кабинетом.
    https://ru.wordpress.org/plugins/wp-invoice/
    Ответ написан
    Комментировать
  • Как получать данные со стороннего сайта имея API?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Все сугубо индивидуально... читайте документацию этого АПИ и все...
    Наверняка, найдется какой-нибудь get метод, который при обращении возвращает список чего-то там....
    И может быть нужно еще авторизоваться. Авторизация тоже может быть разной... например, jwt токен... и т.д.
    Ответ написан
    Комментировать
  • Что лучше выбрать новостной плагин, скрипт, тему?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Я бы рекомендовал вам темы от веб-студии TieLabs. У них довольно хорошие готовые новостный темы.
    Например,
    Jarida (рекомендую) - https://tielabs.com/product/jarida-theme/
    Sahifa 2 - https://tielabs.com/product/sahifa-theme/
    Jannah - https://tielabs.com/product/jannah-theme/
    Ответ написан
    2 комментария
  • Enum что не так?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Hint: You will need to rewrite or cast the expression.

    тут даже дали подсказку, вам нужно привести значение к типу Enum.
    В Spring эта "проблема" решается довольно простым образом... вы можете сразу принять параметр типа Enum. А в вашем случае, как я понял, хоть вы и вкладываете тип enum в шаблон, но получаете обычную строку (String).
    Соответственно, вам нужно эту строку преобразовать к типу enum. Кстати, что-то в вашем сниппете я не вижу, где вы при помощи сеттера устанавливаете значение....

    preparedStatement.setGendertype(4, gendertype.valueOf(gender));

    что-то типа такого должно сработать...
    или же как вариант явно привести тип String к типу Enum
    Ответ написан
  • Как можно реализовать подгрузку видео в товаре Woocommerce при наведении на товар?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Банальным jQuery кодом отлавливаете событие наведения мышки в область миниатюры картинки.
    Далее при наведении отправляете ajax запрос на сервер и забираете ссылку с видео
    Заменяете блок с миниатюрой на полученное видео
    Запускаете воспроизведение...
    Ответ написан
    Комментировать
  • Wordpress или конструкторы для создания landing-page?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Что самое интересное... рано или поздно различные сайты созданные на конструкторах и онлайн-сервисах приходится переносить на CMS (на WP в том числе).
    Мое мнение - лучше пару часов дольше посидеть и разобраться с ВП, чем копаться в конструкторах, изучать их особенности, тарифы, ограничения и т.д.
    К тому же, плагины существуют виз. редакторы для ВП - Elementor, Visual Composer и т.д.
    Ответ написан
  • Как вывести содержимое поля ACF в виджет в правом сайдбаре?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Когда-то использовал этот плагин - https://acfwidgets.com/
    на гитхабе есть бесплатная версия...
    Ответ написан
    Комментировать
  • Как настроить всплывающее окно с формой обратной связи на wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Вероятнее всего вы используете плагин Popup Maker для создания модалки. При создании модалки шорткод CF7 вставляете туда.
    Далее создаете триггер, который и будет запускать (показывать) вашу модалку.
    Скрипт модального окна привязывается к классу или к id ссылки.
    Могу предположить, что в вашем случае:
    <a href=”#” class=”popmake-106″>Открыть всплывающее окно</a>

    событие отображения модалки подвязано к классу .popmake-106
    Ответ написан
    Комментировать
  • На чем лучше делать мобильное приложение - на Java или JavaScript (ReactNative)?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    потом желательно без радикального переписывания - на ios.

    React Native

    Если вам нужна нативная поддержка андроид, то однозначно Java || Kotlin.
    Ответ написан
    Комментировать
  • Кака при нажатии на кнопку перенаправить на форму редактирования?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приветствую)))

    Начнем с простого...

    Чтобы удалить запись (пользователя) нет необходимости оборачивать кнопку в form (можно и попроще сделать). Простой вариант - используя GET запрос отправляете запрос на URL вида (например,users/delete/12345), где 12345 это ID пользователя. Далее получаете pathvariable из урла (id - 12345) и находите по нему пользователя и в метод удаляющий пользователя передаете id пользователя. Тогда вам не нужно будет оборачивать эту кнопку в form, добавлять action, передавать csrf и т.д.

    У вас сейчас получается так, что для каждого пользователя генерируется набор кнопок "Удалить" и "Изменить" и это все обернуто в form. Получится, что у вас на одной странице 100 пользователей и 100 форм. Это не есть хорошо на самом деле... (но и не является ошибкой). Просто, смысл плодить лишние теги, лишние узлы и т.д.

    Идем дальше...

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


    Окно редактирования, которое "вылезает" называется модальным окном. Если ваш дизайн использует bootstrap, то посмотрите bootstrap modal. Или вы можете использовать любую модалку на jquery.

    Внимание! Без знаний js & jquery вы не сможете настроить то, что вы хотите.
    Причина - когда производится клик на кнопке, вам нужно в открывшееся модальное окно передать id пользователя, которого вы хотите изменить. Можете например, в модалке добавить input hidden.
    <input type="hidden" name="id" val="" id="userId">
    По факту, вам не нужна форма для кнопки "Изменить" тоже. По нажатию кнопки "Изменить" открываете модалку и в модалку передаете ID пользователя в вышеуказанный инпут. А уже блок с полями модалки обернут в одну форму.

    Чтобы не быть голословным покажу простой пример:

    Пример таблицы, как должно выглядеть:
    <table style="width:100%">
      <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>Age</th>
        <th>Действие</th>
      </tr>
      <tr>
        <td>Jill</td>
        <td>Smith</td>
        <td>50</td>
        <td>
        	<a href="/users/delete/12345">Удалить</a>
        	<a href="#" class="editUser" data-userId="12345">Изменить</a>
        </td>
      </tr>
      <tr>
        <td>John</td>
        <td>Smith</td>
        <td>30</td>
        <td>
        	<a href="/users/delete/8976">Удалить</a>
        	<a href="#" class="editUser" data-userId="8976">Изменить</a>
        </td>
      </tr>
    </table>

    Как видите в таблице с пользователями вообще нет формы.

    Потом на страницу добавляете модалку. Покажу на примере бутстрапа -

    <table style="width:100%">
      <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>Age</th>
        <th>Действие</th>
      </tr>
      <tr>
        <td>Jill</td>
        <td>Smith</td>
        <td>50</td>
        <td>
        	<a href="/users/delete/12345">Удалить</a>
        	<a href="#" class="editUser" data-userId="12345">Изменить</a>
        </td>
      </tr>
      <tr>
        <td>John</td>
        <td>Smith</td>
        <td>30</td>
        <td>
        	<a href="/users/delete/8976">Удалить</a>
        	<a href="#" class="editUser" data-userId="8976">Изменить</a>
        </td>
      </tr>
    </table> 
    
    <!-- Modal -->
    <div class="modal fade" id="userEditModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title" id="exampleModalLabel">Информация о пользователе</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
          	<form id="userEditForm" action="/users/edit" method="post">
    	        <!-- тут ваши поля, куда нужно внести информацию -->
    	        <input type="text" name="username">
    	        <input type="hidden" name="userId" id="userIdHiddenInput">
    	    </form>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Закрыть</button>
            <button type="button" class="btn btn-primary" id="saveUser">Внести изменения</button>
          </div>
        </div>
      </div>
    </div>


    Дальше вы пишете js код (jquery), который и будет отправлять значения полей на нужный метод контроллера и сохранять пользователя.
    Пример сниппета:
    $( document ).ready(function() {
        
    	// По нажатию кнопки изменить передаем id пользователя на котором кликнули в скрытое поле модалки и показываем модалку
    	$(".editUser").on("click", function() {
    		// тут передали id пользователя из data-userId в hidden поле модалки
    		$("#userIdHiddenInput").val($(this).attr("data-userId"));
    
    		// показываем модалку
    		$("#userEditModal").modal();
    	});
    
    	// По нажатию кнопки "Внести изменения" в модалке отправляем содержимое формы на сервер
    	$(".editUser").on("click", function(event) { 
    		$("#userEditForm").submit();
    	});
    
    
    });


    Можно реализовать по-разному... Можно например, не плодить лишние кнопки... а вверху таблицы добавить 2 кнопки. А дальше получать id пользователя при клике на элементе ряда и передавать ее значение в модальное окно и т.д.

    Ваша текущая реализация:
    <form method="post">
      <input type="hidden" name="id" value="${user.firstName}">
      <input type="hidden" name="name" value="${user.lastName}">
      <button formaction="action1" type="submit" name="delete" value="${user.id}">Удалить</button>
      <button formaction="action2" type="submit" name="update" value="${user.id}">Изменить</button>
    </form>

    не совсем корректна, в том плане, что у вас кнопка "Изменить" отправляет форму, а нужно, чтобы она по клику показывала модалку, а дальше уже модалка в свою очередь будет отправлять содержимое формы (как я и указал выше).
    Ответ написан
  • Найти Wordpress тему для реализации такого дизайна?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Вот, честно.... устанете искать тему, которая подойдет под этот дизайн и даже если найдете, то устанете ее переделывать, чтобы она была похожа на указанный выше макет.
    Решение - самому сверстать.
    С чего начать? html + css + js (jquery). Как вариант изучите еще флексбокс и подключите bootstrap 4. Это в определенной мере ускорит разработку. А после того, как верстка будет готова, есть смысл создавать ВП тему. И тут уже вам нужно изучить кодекс ВП по разработке темы. Самая "сложная" задача сверстать дизайн)

    сайдбар справа всегда имеет статическое положение

    это вы про position fixed

    ... и меняет свой цвет в зависимости от секции которая сейчас на экране

    а это просто реализуется средствами jquery. Просто изменяете фоновый цвет и все...
    Ответ написан
    Комментировать
  • Как перенести товары с Drupal на Wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    1)
    Как перенести товары с Drupal на Wordpress?

    предполагается, что у вас установлен Woocomemrce в качестве магазина

    2)
    создал CSV файл, далее загружаю в WordPress, а он пишет, что не верный формат.

    логично, вы экспортировали его в csv для Drupal, а пытаетесь добавить в ВП через скорее всего WordPress Import

    Установите на ВП плагины:
    Wp All Import + Wp All import Woocommerce Addon и импортируйте ваш csv|xls файл через него. Выберите соответствующие колонки и перетащите их в область импорта в плагине.
    3) Как альтернативный вариант, вы можете спарсить товары. Правда, опять-таки вы придете к формату csv /xls
    4) Использовать специализированные плагины для Dripal --> WordPress / Woocommerce
    https://litextension.com/woocommerce-migration-too...
    5) Использовать платные сервисы - cms2cms https://wordpress.org/plugins/cms2cms-automated-dr...
    Ответ написан
  • Как в wordpress + woocommerce реализовать несколько магазинов (витрин) в одном?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Идея с мультимагазином не очень хорошая, как по мне... Можно создать один магазин... и под разные бренды использовать разные категории.
    Или же, если вам именно нужен мультимагазин, то этот плагин подойдет - https://woomultistore.com/
    Ответ написан
  • На чем развернуть магазин с 25к товарами?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Берите ВП не прогадаете))) Сколько заказов у нас было по переносу сайтов с Bitrix или OpenCart на WP. Тут каждый клиент руководствуется разными причинами конечно (не хочу гнать на другие CMS системы), но ВП как-то менее геморный CMS... Опять-таки все зависит от бюджета, от требования....
    Ответ написан
    Комментировать
  • Как перенаправить с одного jsp файла на другой jsp файл редактирования записи а уже с него перенаправить на сервлет для изменения данных в бд?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Во-первых, нет необходимости каждую из кнопок оборачивать в form, как указано ниже:
    snippet
    <form action = "" method="post">
    	<input type="hidden" name="id" value="${user.firstName}">
    	<input type="hidden" name="name" value="${user.lastName}">
    </form>
    <form method="post">
        <button type="submit" name="delete" value="${user.id}">Удалить</button>
    </form>
    <form method="post">
        <button type="submit" name="update" value="${user.id}">Изменить</button>
    </form>

    Более корректный вариант:
    <form method="post">
    	<input type="hidden" name="id" value="${user.firstName}">
    	<input type="hidden" name="name" value="${user.lastName}">
    	<button formaction="action1" type="submit" name="delete" value="${user.id}">Удалить</button>
    	<button formaction="action2" type="submit" name="update" value="${user.id}">Изменить</button>
    </form>

    Обратите внимание на атрибут - formaction="..." так вы можете внутри одной формы задать несколько разных видов actions. Внутри атрибута укажите action (url), куда должна отсылаться форма.

    Подскажите как перенаправить с одного jsp на другой для заполнения новой формы а после перенаправить данное изменение на сервлет.

    Могу предположить, что вы хотите по нажатию кнопки "Удалить" совершить POST запрос на сервер, дальше некий метод находит запись в БД и удаляет.
    А по нажатию на кнопку "Изменить" вы хотите редактировать содержимое формы. Так вот, post запрос там вообще не нужен. Для начала get запросом верните пользователю форму с инпутами, куда он должен ввести данные, дальше по клику на кнопку или инпут (submit) POST запросом отправляете введенные данные на сервер. И опять-таки метод контроллера примет данные (чтобы данные отправлялись нужно, чтобы инпуты имели name). А дальше остается найти запись по id (который у вас скрыто передается) и по нему получить объект и при помощи сеттеров добавить новые значения и сохранить
    Ответ написан
    1 комментарий
  • Как применить несколько фильтров в Hibernate?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Ведь, по сути фильтрация и есть поиск по БД. Соответственно, подключите hibernate search. А там уже есть возможность индексации + возможность задания нужных параметров, фильтров.
    https://docs.jboss.org/hibernate/stable/search/ref...
    Можно также использовать ElasticSearch.
    Ответ написан
    Комментировать
  • Как реализовать многоязычность в WordPress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    1) плагин можете выбрать любой... Мне нравится wpml. Говорят, polylang неплохой...
    2)
    а импортируя и экспортируя какие либо файлы в WordPress (json, xml, ...)

    тут можно поступить по-разному.....
    - если переводы содержаться в файлах темы, то ее можно локализовать, а дальше плагином loco translate или же программой PoEdit (премиум) просканировать тему и перевести (создать файл po mo)
    Ответ написан
    1 комментарий
  • Как гибко настроить тему WooCommerce без Elementor?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Тема вукомерца (точнее шаблоны вукомерца) настраивается на уровне рнр, html, css, js. Изучите документацию вукомерца и так вы научитесь кастомизировать тему и шаблоны вукомерца под ваши задачи...
    Elementor и другие виз. редакторы вообще ни при чем!
    Ответ написан
    Комментировать
  • Какой плагин нужен для отображения фотографий в виде карусели?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Не подскажу насчет плагина... (возможно, что revolution slider подойдет вам)
    Но сама задача довольно простая, если использовать скрипты. Например, owl carousel, flex slider, slick slider и т.д.
    Ответ написан
    Комментировать
  • Как сохранить текст из полей в базу данных с Thymeleaf и Spring Boot?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    У вас выбрасывает исключение связанное с шаблонизатором thymeleaf
    + вы не указали атрибут name для инпутов
    А теперь, простой пример
    @Entity
    Car {
    	
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
      	private Long id;
    
      	private String carModel;
    
      	private String carName;
    
    	public Car() {}
    	//getters & setters & no args constructor
    }


    <form method="post" th:action="@{/cars/add}">
    	
    	<input type="text" name="carModel">
    	<input type="text" name="carName">
    	<input type="submit" value="Добавить машину">
    
    </form>

    @Autowired
    private CarRepository carRepository
    
    @PostMapping("/cars/add")
    public String addNewCar(
     @ModelAttribute("carModel") String carModel,
     @ModelAttribute("carName") String carName,
     Car car
    ) {
     // тут конечно можно в carService создать метод и передать ему эти аргументы
    	car.setCarModel(carModel);
    	car.setCarName(carName);
    	carRepository.save(car);
    
    	return "main"; 
    }


    Видео - https://www.youtube.com/watch?v=jH17YkBTpI4&list=P...
    Ответ написан
    2 комментария