Создание ресурсов из фронтенда сайта, зарегистрированными пользователями.
Добрый день!
Делаю сайт доски объявлений недвижимости.
Реализовал каталог недвижимости с помошью miniShop2. Ну то-есть каждая недвижимость это товар со своими параметрами ТВ для фильтрации.
Теперь возник вопрос, как дать возможность зарегистрированным пользователям сайта, добавлять и редактировать недвижимость из фронта?
Установил плагин ms2form но там неразобрался с шаблонизатором, и как вообще можно реализовать подгрузку разных параметров недвижимости, в зависимости от того, жилая это недвижимость или коммерческая?
Тут дизайн формы добавления недвижимости
dropmefiles.com/fiDW4
Например если тут поменять Тип недвижимости с «квартиры» на «земельный участок», то нижние параметры должны будут поменяться.
Подскажите как такое можно реализовать, может надо делать связку создания ресурсов через FormIt? Но в таком случае я не знаю как загрузить галлерею фотографий.
Буду благодарен любой помощи.
Если же готовы реализовать данный функционал за вознаграждение, я не против, напишите мне в Телеграм: @Ruslan_Dev
Делаю сайт доски объявлений недвижимости.
Реализовал каталог недвижимости с помошью miniShop2. Ну то-есть каждая недвижимость это товар со своими параметрами ТВ для фильтрации.
Теперь возник вопрос, как дать возможность зарегистрированным пользователям сайта, добавлять и редактировать недвижимость из фронта?
Тут дизайн формы добавления недвижимости
dropmefiles.com/fiDW4
Например если тут поменять Тип недвижимости с «квартиры» на «земельный участок», то нижние параметры должны будут поменяться.
Подскажите как такое можно реализовать, может надо делать связку создания ресурсов через FormIt? Но в таком случае я не знаю как загрузить галлерею фотографий.
Буду благодарен любой помощи.
Если же готовы реализовать данный функционал за вознаграждение, я не против, напишите мне в Телеграм: @Ruslan_Dev
Комментарии: 4
как вообще можно реализовать подгрузку разных параметров недвижимости, в зависимости от того, жилая это недвижимость или коммерческая?В простом варианте решения все параметры сразу есть в форме, а ты с помощью JS скрываешь те, которые не относятся к выбранному типу недвижимости. Примерно так
<style>
.d-none {
display: none;
}
</style>
<form action="">
<select name="realty_type">
<option value="квартира" selected>квартира</option>
<option value="земельный участок">земельный участок</option>
</select>
<input type="number" name="room_count" data-type="квартира">
<input type="number" name="square_for_live" data-type="квартира">
<input type="number" name="total_square">
<select name="destination" data-type="земельный участок" class="d-none">
<option value="ИЖС">ИЖС</option>
<option value="Земли сельхоз назначения">Земли сельхоз назначения</option>
</select>
</form>
<script>
const realtyType = document.querySelector('[name="realty_type"]');
const linkedFields = document.querySelectorAll('[data-type]');
realtyType && realtyType.addEventListener('change', e => {
linkedFields.forEach(field => field.classList[field.dataset.type === e.target.value ? 'remove' : 'add']('d-none'));
})
</script>
Мне кажется. это не совсем правильно, и придется писать много проверок на JS.
В идеале, я думаю надо как то подгружать через Ajax, разные формы, в зависимости от выбранных параметров.
В идеале, я думаю надо как то подгружать через Ajax, разные формы, в зависимости от выбранных параметров.
надо как то подгружать через Ajax, разные формыМожно и подгружать. Устанавливаешь SendIt. Разметка будет такая
<form action="">
<select name="realty_type" data-si-preset="load_fields" data-si-event="change" data-si-form>
<option value="квартира" selected>квартира</option>
<option value="земельный участок">земельный участок</option>
</select>
<div id="results">{'loadFields' | snippet: ['type' => 'квартира']}</div>
</form>
Пресет такой'load_fields' => [
'hooks' => '',
'resultBlockSelector' => '#results',
'resultShowMethod' => 'insert',
'snippet' => 'loadFields'
]
Сниппет loadFields примерно такой$type = $type ?? $_POST['realty_type'];
$html = '';
switch ($type) {
case 'квартира':
$html = $modx->getChunk('flatFields', []);
break;
case 'земельный участок':
$html = $modx->getChunk('groundFields', []);
break;
}
if($SendIt){
if($result['success']){
return $SendIt->success(true, ['html' => $html]);
}else{
return $SendIt->error(false, []);
}
}
return $html;
Ну а в чанках соответственно поля.
А кто подскажет, как в форму Создания/Редактирования ресурса, через ms2Form, добавить возможность выбирать несоклько параметров в одном TV?
Ну то-есть например у меня есть у карточки недвижимости TV c select и checkbox значениями.
Как мне в самой форме создания/редактирования ресурса, вывести список значений TV параметра так же выпадающим списком, или чекоксом?
Перекопал форум, и ненашел никакой документации с примером такой реализации.
Подскажите где посмотреть?
Ну то-есть например у меня есть у карточки недвижимости TV c select и checkbox значениями.
Как мне в самой форме создания/редактирования ресурса, вывести список значений TV параметра так же выпадающим списком, или чекоксом?
Перекопал форум, и ненашел никакой документации с примером такой реализации.
Подскажите где посмотреть?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.