Увеличить количество значений поля "Вес".

Аватар пользователя Kas Narayda

Как увеличить количество значений поля "вес"? От -15 до +15 уже маловато. Надо хотя бы -200 +200. У меня очень много материалов.

Ключевые слова:
Тип материала:
Версия Drupal:
Форумы:
0 Thanks

Лучший ответ

Аватар пользователя Kas Narayda
Kas Narayda 4 недели назад

Я уже всё сделал - внёс правки в \modules\book\book.admin.inc
Теперь я назначаю вес вручную. Даже удобнее стало :)
Всех благодарю за советы и помощь!

Комментарии

Аватар пользователя itcrowd72
itcrowd72 1 месяц назад

Вам нужно подумать о другом способе вывода материалов. Опишите задачу и вам подскажут как сделать правильно.

Аватар пользователя Kas Narayda
Kas Narayda 1 месяц назад

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

Аватар пользователя itcrowd72
itcrowd72 1 месяц назад

Вы меня не поняли. Расскажите подробнее о структуре вашего сайта

Аватар пользователя Kas Narayda
Kas Narayda 1 месяц назад

У меня книга и в ней страницы. Так что всё проще некуда.

Аватар пользователя gun_dose
gun_dose 1 месяц назад

1. Нужно установить, какие значения веса может принять БД. Например растащив часть материалов вручную и проверив, что при этом записалось.
2. Если большие значения допустимы, то в hook_form_alter можно добавить нужное количество опций.

Аватар пользователя Kas Narayda
Kas Narayda 1 месяц назад
gun_dose написал:
2. Если большие значения допустимы, то в hook_form_alter можно добавить нужное количество опций.

Это где такой параметр?

Аватар пользователя gun_dose
gun_dose 1 месяц назад
1

В коде))

Аватар пользователя DivaDii
DivaDii 1 месяц назад
1

Имхо, Entityreference можно вполне использовать. В том числе - выводить блок с вьюсом.

То есть в очередной "Главе" давать ссылку на главную Книгу.
А в Книге вывести блок "Содержание" - там вьюс с Главами, которые ссылаются на эту Книгу.
Сортировка - по времени пополнения. То есть добавляется новая Глава - она появляется внизу Содержания.

Это намного проще, чем Вес и перетягивание.
И я жалею, что когда я делала очередной проект - библиотечку, я еще не знала о такой возможности всемогущего Друпала. Да и тогда бы у меня не хватило квалификации. И делала вручную. Теперь уже поздно переделывать большууууую кучу материалов. (Хотя... надо ещё подумать... Может быть, я ещё созрею на этот подвиг).

Но Вам рекомендую пойти именно этим путём.

Аватар пользователя Kas Narayda
Kas Narayda 1 месяц назад

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

Аватар пользователя DivaDii
DivaDii 1 месяц назад

Views и Entityreference позволяют сделать намного больше, чем Вес. В смысле - выполнить намного больше разных функций.

Во многих случаях - заменить ВАШУ ручную работу.

Друпал без Вьюс - не намного круче, чем Вордпресс.

Аватар пользователя itcrowd72
itcrowd72 1 месяц назад

Drupal - без views - это сайт визитка из трех страниц или простой блог.

Аватар пользователя gun_dose
gun_dose 1 месяц назад

По ходу, кроме меня и автора, никто ни разу не использовал book, потому и советуют всякую дичь))

Аватар пользователя Kas Narayda
Kas Narayda 1 месяц назад
DivaDii написал:
Друпал без Вьюс - не намного круче, чем Вордпресс.

WordPress не CMS, а говнокод и сравнивать лучше не с ним. Есть другие нормальны CMS.

itcrowd72 написал:
Drupal - без views - это сайт визитка из трех страниц или простой блог.

Уже 3-й полноценный сайт без Views. Что вы на это скажете?

Короче, я так понял нужно копаться в ядре Drupal.

Аватар пользователя VasyOK
VasyOK 1 месяц назад

https://www.drupal.org/project/weight - последние версии модуля смотрите. За несколько лет чуть подправили. Хотя если вы "сторонник" даже не знаю...

Аватар пользователя Kas Narayda
Kas Narayda 4 недели назад

Что-то непонятно как он работает. Вес есть, но этот параметр ни на что не влияет. А в книге вес по прежнему только от -15 до +15.
Вот что нашёл в \modules\book\book.admin.inc

<?phpfunction _book_admin_table_tree($tree, &$form) {
  // The delta must be big enough to give each node a distinct value.
  $count = count($tree);
  $delta = ($count < 30) ? 15 : intval($count / 2) + 1;
?>
Аватар пользователя VasyOK
VasyOK 4 недели назад

Кто он? Модуль weight? В ридми все есть честно.

Просто не понял что вы пользуетесь модулем book. Этот модуль действительно "не модный". Подумайте оно вам надо с непопулярными решениями работать. Раньше это называлось не "книги" а "подшивки". Вот и не сообразил.

Аватар пользователя DivaDii
DivaDii 4 недели назад
gun_dose написал:
По ходу, кроме меня и автора, никто ни разу не использовал book, потому и советуют всякую дичь))

Я использовала book. Но в какой-то момент он заглючил.
Когда я стала спрашивать помощи тут, на Д.ру, мне посоветовали Entityreference.
Попробовала. Понравилось. Но возможностей на Entityreference намного больше, чем на book.

Аватар пользователя gun_dose
gun_dose 4 недели назад

Для задачи автора энтитиреференс не нужен.

Аватар пользователя gun_dose
gun_dose 4 недели назад
2

Поясняю пошагово:
1. Создаёте свой модуль.
2. Делаете в нём hook_form_alter.
3. В хуке проверяете айдишник формы, чтобы это была форма добавления или редактирования страницы книги.
4. Находите элемент формы, отвечающий за вес и меняете в нём массив #options на тот, который вас устроит.
5. Профит.

Делов на 5 минут и столько же строчек кода.

Аватар пользователя Kas Narayda
Kas Narayda 4 недели назад

Я уже всё сделал - внёс правки в \modules\book\book.admin.inc
Теперь я назначаю вес вручную. Даже удобнее стало :)
Всех благодарю за советы и помощь!

Аватар пользователя gun_dose
gun_dose 4 недели назад
1

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

Аватар пользователя Kas Narayda
Kas Narayda 4 недели назад

Харашо начальникх! :)