Доброго времени суток! Предисловие: Как-то недавно речь зашла о дополнительных полях uCoz и кто-то или что-то дернул(о) меня за язык написать что-то типа мануала по данной теме. Решил не задерживать, так что читаем дальше! Warning: Мой первый пост с мануалом! Я плохо у меню объяснять, так что не судите строго! Способы сделать больше дополнительных полей на uCoz: 1. Зайти в Панель сайта->[Модуль]->Настройка модуля. Далее включить все поля, что есть в модуле и постараться по максимум использовать их возможности. 2. В июне 2016 года uCoz помимо основных дополнительных полей добавил еще дополнительные поля. Для бесплатного тарифа их всего 3, однако если оплатить тариф, то получите больше дополнительных полей. Вот информация с официального блога uCoz: 3. Если вам все-же мало дополнительных полей, то следующий вариант — PHP скрипт. Надо оплатить поддержку PHP на сайта (входит в тарифы начиная с «Оптимального»). Насколько знаю, такой скрипт есть, либо его придется заказать. Однако есть 4-й вариант: Данный способ не самый лучший, зато бесплатный! Суть проста: в описании материала через «редактор HTML кодов» вставляете комментированный текст, который на странице выводится не будет, зато JS запросто может его обработать, что мы и будет использовать в данном случае. Минусы способа: — Редактирование только через «редактор HTML кодов» — Данные из таких доп.полей НЕ индексируются поисковиками. Плюсы: — Бесплатно, просто и быстро! — Практически не ограниченное количество дополнительных полей! — Не лишает возможности использовать полное/краткое в своих целях! Приступим к установке: 1. Установим кусок JS кода на сайт. HTML: var text = $('#thefields').html(), fields = /[<-]{2}FIELDS([\s\S]*)\/FIELDS[->]{2}/gm.exec(text)[1]; $.each(fields.split("||"), function() { if(/\|/gm.exec(this)) { var value = this.split("|"); $('#thefield_' + value[0].trim()).html(value[1].trim()); } }); $('*[id^=thefield_]').each(function(e) { if($(this).text().length < 1) { $('.' + $(this).attr('id')).remove(); } }); 2. Заходим в Панель управления->[Модуль]->Управление дизайном->Полная страница материала, находим $MESSAGE$ и заменяем на: HTML: <span id="thefields">$MESSAGE$</span> 3. Выведем наши поля: HTML: <ul> <li class="thefield_name"><b>Название:</b> <span id="thefield_name"></span></li> <li class="thefield_altname"><b>Оригинальное название:</b> <span id="thefield_altname"></span></li> <li class="thefield_year"><b>Год:</b> <span id="thefield_year"></span></li> <li class="thefield_country"><b>Страна:</b> <span id="thefield_country"></span></li> </ul> Тут все просто: к примеру вы указали 2 поля: name и year. От кусок JS-скрипта вставит информацию поля name в элемент с id=thefield_name, а year аналогично в элемент с id=thefield_year. Однако, так как поля altname и country вы не указали, то скрипт уберет элемент с классом thefield_altname и thefield_country со страницы. Короче: там где нужно вывести значение надо присвоить атрибут id = thefield_[названиеполя] . Если нужны скрыть определенный блок на странице, если поле не указано, то присваиваем ему class = thefield_[названиеполя] Теперь будет использовать наши поля: При добавлении материала нужно Полное описание материала перевести в режим Редактора HTML кодов, нижу снять галку Заменять переводы строк тегом <br> Далее добавляем туда такой код: HTML: <!--FIELDS названиеполя|значение|| названиеполя|значение|| названиеполя|значение /FIELDS--> Это за комментированный код, который не отображается на странице, но наш JS-скрипт возьмет из него данные. Название поля должно быть из английских букв и цифр, без пробелов! Если все сделано правильно, а я нигде не накосячил в коде — все должно работать. Внимание: Это тестовая версия скрипта, который делался за пол часа. Возможно где-то это не сработает, так как модули отличаются друг от друга. Мне важно мнение, мысли, идеи и предложения. Если это будет актуально я сделаю полноценный скрипт, который будет работать везде, а с настройкой полей и их редактирование будет помогать визуальный интерфейс — никакого кода! Тут типа живой пример: http://9interi.3dn.ru/load/dota_2/teksturki/dark_viper_fioletovyj_vajper/177-1-0-596 Тем, кому интересно — песочница на CodePen: https://codepen.io/theCooLER/pen/gWjwmW P.S: Есть вот такой скрипт: http://webo4ka.ru/load/skripty_i_mo...telnye_polja_dlja_ljubykh_modulej/46-1-0-3629 Однако на мой взгляд он слишком замудрен и можно сделать лучше!
Возможно ли на модуле "Новости сайта", сделать краткое и полное описание, как на остальных модулях? На дополнительных полях есть ограничение на кол-во символов, можно ли его увеличить?
Ни один их пунктов не возможен(только если с применением PHP скриптов). Однако скрипт можно использовать и на модуле Новости.