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

Главные вкладки

Лучший ответ

Аватар пользователя Kas Narayda Kas Narayda 21 октября 2017 в 11:04

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

Комментарии

Аватар пользователя ivnish ivnish 20 октября 2017 в 10:55

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

Аватар пользователя Kas Narayda Kas Narayda 20 октября 2017 в 11:09

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

Аватар пользователя gun_dose gun_dose 20 октября 2017 в 11:58

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

Аватар пользователя Kas Narayda Kas Narayda 20 октября 2017 в 12:07

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

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

Аватар пользователя DivaDii DivaDii 20 октября 2017 в 15:26
1

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

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

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

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

Аватар пользователя DivaDii DivaDii 20 октября 2017 в 18:22

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

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

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

Аватар пользователя Kas Narayda Kas Narayda 20 октября 2017 в 23:43

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

WordPress не CMS, а говнокод и сравнивать лучше не с ним. Есть другие нормальны CMS.
itcrowd72 wrote:
Drupal - без views - это сайт визитка из трех страниц или простой блог.

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

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

Аватар пользователя Kas Narayda Kas Narayda 21 октября 2017 в 9:13

Что-то непонятно как он работает. Вес есть, но этот параметр ни на что не влияет. А в книге вес по прежнему только от -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 21 октября 2017 в 9:54

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

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

Аватар пользователя DivaDii DivaDii 21 октября 2017 в 9:27

gun_dose wrote:

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

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

Аватар пользователя gun_dose gun_dose 21 октября 2017 в 10:43
2

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

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

Аватар пользователя Kas Narayda Kas Narayda 21 октября 2017 в 11:04

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