Характеристики записей в УК - выпадающий список

Куплю за разумную цену!

#1 15 сентября 2011 в 18:00
Здравствуйте!
В 1.8 есть такие варианты видов характеристик: Текст, HTML, Ссылка
Очень хочется прикрутить выпадающий список ну и группу опций (по типу: да-нет)
Хочется, а знаний нет.
Если у кого есть решение — поделитесь, пожалуйста.
Спасибо!
#2 15 сентября 2011 в 20:09
Интересное и нужное решение, я бы тоже прикрутил.
#3 29 сентября 2011 в 09:22
Мой первый хак, прошу сильно не пинать laugh

admin\components\catalog\backend.php строка 550 заменяем

  1. if ($_REQUEST['fformat'][$key]=='html') { $fstruct[$key] .= '/~h~/'; }
  2. if ($_REQUEST['fformat'][$key]=='link') { $fstruct[$key] .= '/~l~/'; }
  3. if ($_REQUEST['flink'][$key]) { $fstruct[$key] .= '/~m~/'; }
на
  1. if ($_REQUEST['fformat'][$key]=='html') { $fstruct[$key] .= '/~h~/'; }
  2. elseif ($_REQUEST['fformat'][$key]=='link') { $fstruct[$key] .= '/~l~/'; }
  3. elseif ($_REQUEST['fformat'][$key]=='select') { $fstruct[$key] .= '/~s~/'; }
  4. if ($_REQUEST['flink'][$key]) { $fstruct[$key] .= '/~m~/'; }
admin\components\catalog\backend.php строка 625 заменяем

  1. if ($_REQUEST['fformat'][$key]=='html') { $fstruct[$key] .= '/~h~/'; }
  2. if ($_REQUEST['fformat'][$key]=='link') { $fstruct[$key] .= '/~l~/'; }
  3. if ($_REQUEST['flink'][$key]) { $fstruct[$key] .= '/~m~/'; }
на
  1. if ($_REQUEST['fformat'][$key]=='html') { $fstruct[$key] .= '/~h~/'; }
  2. elseif ($_REQUEST['fformat'][$key]=='link') { $fstruct[$key] .= '/~l~/'; }
  3. elseif ($_REQUEST['fformat'][$key]=='select') { $fstruct[$key] .= '/~s~/'; }
  4. if ($_REQUEST['flink'][$key]) { $fstruct[$key] .= '/~m~/'; }
admin\components\catalog\backend.php строка 956 заменяем

  1. if (strstr($value, '/~h~/')) { $ftype = 'html'; $value=str_replace('/~h~/', '', $value); }
  2. elseif (strstr($value, '/~l~/')) { $ftype = 'link'; $value=str_replace('/~l~/', '', $value); } else { $ftype='text'; }
на
  1. if (strstr($value, '/~h~/')) { $ftype = 'html'; $value=str_replace('/~h~/', '', $value);}
  2. elseif (strstr($value, '/~l~/')) { $ftype = 'link'; $value=str_replace('/~l~/', '', $value); }
  3. elseif (strstr($value, '/~s~/')) { $ftype = 'select'; $value=str_replace('/~s~/', '', $value); }
  4. else $ftype='text';
admin\components\catalog\backend.php строка 1195 заменяем

  1. <option value="text" <?php if(@$fstruct[$f]) { if ($ftype=='text') { echo 'selected'; } } ?>>Текст</option>
  2. <option value="html" <?php if(@$fstruct[$f]) { if ($ftype=='html') { echo 'selected'; } } ?>>HTML</option>
  3. <option value="link" <?php if(@$fstruct[$f]) { if ($ftype=='link') { echo 'selected'; } } ?>>Ссылка</option>
на

  1. <option value="text" <?php if(@$fstruct[$f]) { if ($ftype=='text') { echo 'selected'; } } ?>>Текст</option>
  2. <option value="html" <?php if(@$fstruct[$f]) { if ($ftype=='html') { echo 'selected'; } } ?>>HTML</option>
  3. <option value="link" <?php if(@$fstruct[$f]) { if ($ftype=='link') { echo 'selected'; } } ?>>Ссылка</option>
  4. <option value="select" <?php if(@$fstruct[$f]) { if ($ftype=='select') { echo 'selected'; } } ?>>Выбор</option>
components\catalog\frontend.php строка 585 перед

  1. if (strstr($value, '/~h~/')){ $value = str_replace('/~h~/', '', $value); $is_html = true; } else { $is_html = false; }
вставляем

  1. if (strstr($value, '/~s~/')) { $value = str_replace('/~s~/', '', $value); $value = substr($value, 0, strpos($value, '|')); }
admin\components\catalog\backend.php строка 715 перед

  1. if (strstr($value, '/~h~/')){
вставить

  1. if (strstr($value, '/~s~/')) {
  2. $value = str_replace('/~s~/', '', $value);
  3. $value = substr($value, 0, strpos($value, '|'));
  4. }
admin\components\catalog\backend.php строка 897 заменить

  1. if (strstr($value, '/~h~/')) { $ftype = 'html'; $value=str_replace('/~h~/', '', $value); }
  2. elseif (strstr($value, '/~l~/')) { $ftype = 'link'; $value=str_replace('/~l~/', '', $value); } else { $ftype='text'; }
на

  1. if (strstr($value, '/~h~/')) { $ftype = 'html'; $value=str_replace('/~h~/', '', $value); }
  2. elseif (strstr($value, '/~l~/')) { $ftype = 'link'; $value=str_replace('/~l~/', '', $value); }
  3. elseif (strstr($value, '/~s~/')) { $ftype = 'select'; $value=str_replace('/~s~/', '', $value); } else { $ftype='text'; }

Формат поля: Название поля|выбор1, выбор2, выбор3
Например: Ваш пол|мужской, женский

Изменения в файлы лучше делать снизу вверх, дабы не сбивались номера строк и было легко найти нужную строку
#4 9 октября 2011 в 20:52
Доступно только из админки или и для пользователей (если пользователям разрешено добавлять записи)?
Глянуть где-то можна?
Спасибо!
#5 13 марта 2014 в 15:42
Подниму тему.

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