Ищу исполнителя, для реализации смена вывода изображения( другого поля ) при смене разрешения.

InstantCMS 2.X
#1 1 марта 2023 в 15:50

Есть два поля вывода изображений, один хорош для комп версии другое для моб версии сайта. Нужно что бы при смене разрешения экрана переключался на другой вывод . 

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

Пишите какие есть варианты и кто готов помочь в реализации . 

#2 1 марта 2023 в 20:02

Если всё одинаковое (хранение в БД, добавление и т.д.), а разный только вывод, то можно в одно из полей в метод parse добавить проверку устройства. Если десктоп — выводить то, что есть, а если телефон, то вставить код из файла второго поля. Или вообще написать можно новое поле и совместить в нем два этих.

Добавлено спустя 3 часа

За комп добрался. Как-то так примерно:

Есть поля images1 и images2 (это типы полей). Поле images1 надо показывать на десктопе, а второе на всех других устройствах. Открываем файл system/fields/images2.php, находим в нем строку 

  1. public function parse($value) {

и пишем сразу после нее:

  1. $device_type = cmsRequest::getDeviceType();
  2. if ($device_type == 'desktop') {
  3. // здесь код из метода parse() из файла system/fields/images1.php
  4. }

Если в файлах есть метод parseTeaser(), то точно также надо сделать и здесь.

#3 1 марта 2023 в 20:08

 Нифигаccе о-го-гошеньки, Это позволит скрыть одно и показать другое поле? Но при создании ТК будет доступно два разных поля. куда дважды надо заливать фото. Нужно что бы одно поле для заполнения также было и фото отображались одни и те же в разных шаблонах изображения 

#4 1 марта 2023 в 20:14

Нет, в форме у вас будет поле images2. Одно поле, а вывод разный. Повторюсь, это сработает при условии, что всё остальное одинаковое (хранение в БД, опции и т.д.).

Вернее, не то, чтобы оно само там будет. Вам надо будет добавить в ТК это поле, а images1 удалить.

#5 1 марта 2023 в 20:16

Нет, в форме у вас будет поле images2. Одно поле, а вывод разный. Повторюсь, это сработает при условии, что всё остальное одинаковое (хранение в БД, опции и т.д.).

Нифигаccе о-го-гошеньки

Хранение бд одинаковое, опции полей конечно разные, один набор изображений другой слайдер со своими настройками 

#6 1 марта 2023 в 20:24

Посмотрите, какие опции есть в первом, но нет во втором, и скопируйте из первого во второе. И всё.

Обратите внимание на имена и типы полей опций.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.