Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

Forums / National / Russian / Сборка «Фриланс-биржа» / REVIEWS ограничить длину select в {REVIEW_FORM_PROJECTS}

Описание

vpktz
#1 2020-08-01 13:39

 

В плагине REVIEWS, в reviews.tpl есть форма отвечающаю за написание отзыва человеку по уже совершенным сделкам в личном кабинете users.details.tpl.

Проблема такая что при выборе работы(сделки) по которой хочешь оставить отзыв, раскрываешь select в котором каждый options имеет очень длинное название. Практически весь заголовок задания. Что очень криво работает когда открываешь сайт с телефона. 

Я предполагаю что нужно отредактировать reviews.functions.php строку 206

'REVIEW_FORM_PROJECTS' => ($cfg['plugin']['reviews']['checkprojects'] && cot_module_active('projects') && $bothprj_count > 0) ? cot_selectbox($pid, 'code', $prj_ids, $prj_titles, false) : '',

Но что и как я сообразить не могу.

Ну а пока моя форма выглядит вот так :

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

 

 

jCube Group
#2 2020-08-01 14:33

резать заголовок тоже не правильно,  они могут начинаться одинаково,  и заканиваться по разному,  лучше написать на js скрипт который будет сокращать и заменять точками. Хотя и на пхп можно... а еще можно стилями изменить шрифт и будет по равнее.

vpktz
#3 2020-08-01 16:44

 

 

#45027 jCube Group:

резать заголовок тоже не правильно,  они могут начинаться одинаково,  и заканиваться по разному,  лучше написать на js скрипт который будет сокращать и заменять точками. Хотя и на пхп можно... а еще можно стилями изменить шрифт и будет по равнее.

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

Мне кажется самый простой способ это в плагине обозначить его длину, мне впринципе 50 символов будет достаточно. Я думаю человек поймет что за сделка была по первым 3-5 словам заголовка.

Edward
#4 2020-08-01 19:41

Возможно, самый лучший вариант ограничить длину при создании сделки? Хотя бы maxlength для input.

Можно и jquery обойтись без правки плагина.

$('option').each(function () {
  var text = $(this).text();
  if (text.length > 10) {
    text = text.substring(0, 9) + '...';
    $(this).text(text);
  }
});

https://codepen.io/jeroenreijs/pen/eEmoYr

Интересно, а overflow: hidden для родительсокого блока selecta не реашет ситуацию с "поехавшей" версткой? Крайний вариант overflow: hidden для body.

Email: ed.gabishev@gmail.com
Telegram: https://t.me/Ed_Gaba
vpktz
#5 2020-08-01 20:38

 

#45029 Edward:

Возможно, самый лучший вариант ограничить длину при создании сделки? Хотя бы maxlength для input.

Можно и jquery обойтись без правки плагина.

$('option').each(function () {
  var text = $(this).text();
  if (text.length > 10) {
    text = text.substring(0, 9) + '...';
    $(this).text(text);
  }
});

https://codepen.io/jeroenreijs/pen/eEmoYr

Интересно, а overflow: hidden для родительсокого блока selecta не реашет ситуацию с "поехавшей" версткой? Крайний вариант overflow: hidden для body.

Ура, сработало! спасибо!angelyes

jCube Group
#6 2020-08-02 05:35
$('option').each(function () {
  var text = $(this).text();
  if (text.length > 10) {
    text = text.substr(0, 4) + '...' + text.substr(-4);
    $(this).text(text);
  }
})