- Предыдущая
- 1
- 2
- Показаны 16-24 из 24
Мне надо вывод такой во фронтеде при редактировании записи, а не в админки.
<input type="text" onclick="icms.UsList(this)" name="<?php echo $field->element_name; ?>" id="uslist" class="" value="<?php echo $value; ?>" /> <div></div> <script> icms.UsList = function(e){ if(e.value != '') alert(e.value);// Если поле не пустое отправляете запрос на сервер, там выполняете поиск по букве, возвращаете совпадения и выводите в div. } </script>
P.S. Хотя наверное onchange лучше использовать.
Какая разница? Самый простой вариант. В вашем tpl.php файле.
не работает
Добавьте эту строку github.com/instantsoft/icms2/blob/master/system/fields/list.php#L180Спасибо за ответ, но вылезает ошибка
в ваш файл \system\fields\us.php где-то после этого
$getmodel = new cmsmodel; $getmodels=$getmodel->get('users_fields',false,'name'); $users_model = cmsCore::getModel('users'); foreach ($val as $key => $uset){ $use = href_to_profile($users_model->getUser($uset)); $userr=$users_model->getUser($uset); $card_fields['email'] = 1; $content_model = cmsCore::getModel('content'); $content_model->setTablePrefix(''); $content_model->orderBy('ordering'); $fields = $content_model->getContentFields('users');
Сейчас поглядел код этого поля для вывода на фронте. Заметил это
Дальше смотреть не стал. Печалька. Тормоза вас ждут на сайте. Особенно, если в списке его выведете.
$getmodel = new cmsmodel; $getmodels=$getmodel->get('users_fields',false,'name'); $users_model = cmsCore::getModel('users'); foreach ($val as $key => $uset){ $use = href_to_profile($users_model->getUser($uset)); $userr=$users_model->getUser($uset); $card_fields['email'] = 1; $content_model = cmsCore::getModel('content'); $content_model->setTablePrefix(''); $content_model->orderBy('ordering'); $fields = $content_model->getContentFields('users');
после добавления кода выше, ошибка пропала, но поле для ввода текста не появилось.
И насчет кода что в нем не так? Доступ к этому полю для изменения будет только админ
Поле для ввода и не появится. Появиться должен обычный селектор, в котором при количестве строк (пользователей) более 8 появится поле для фильтрации по этому списку в селекторе. И судя по скрину, селектор с мультивыбором появился, но в консоли браузера есть кучка ошибок яваскриптов, которые блокируют появление этого "поля для ввода".после добавления кода выше, ошибка пропала, но поле для ввода текста не появилось.
Никакой оптимизации по запросам в бд. Создаются экземпляры модели до цикла два раза и во время цикла по количеству пользователей выбранных админом. И это работает при выводе на сайте для всех, даже для гостей. Если админ выберет 50 пользователей, то это будут 50 запросов в бд, только для того, чтобы вывести Логин и ссылку на каждого пользователя. И так для каждого вывода этого поля. В списке у вас выводится допустим 15 записей. Если это поле вывести в списке, то умножайте 15*50 =… Дальше сюда можно добавить пару виджетов со списками записей с этим полем из других разделов или типов контента и в результате несложных математических вычислений вы поймете сколько у вас будет запросов в бд для получения только логина и ссылки на профиль пользователя.И насчет кода что в нем не так?
- Предыдущая
- 1
- 2
- Показаны 16-24 из 24