Есть на сайте куча "Материалов" "Товар". И мне понадобилось что бы у Всех уже добавленных "Товаров" появилось дополнительное поле с одним и тем же текстом.
Так как "Товаров" много то делать это вручную нецелесообразно.
Пробовал добавить через "Главная » Управление » Структура » Типы материалов » Товар" новое поле "Полный текст с анонсом" "Текстовая область с анонсом" , но оно добавляет текст только для вновь создаваемых материалов, а к уже созданным текст не добавился.
Помогите пожалуйста.
Спасибо!
Комментарии
Создание поля для вас принципиально , оно где-то еще используется ?
Не знаю на сколько это правильно , но можно прямо в шаблон вашего типа материала добавить .
Оно будет использоваться только в типе материалов "Товар".
А как это сделать? все что я смог добиться это добавление текста при создании нового "Товара".
Как я понимаю, сделайте простой запрос в БД и там подставьте свой текст в это поле для всех материалов.
Простите я в друпале новичок, простой запрос к БД можно реализовать встроенными средствами или нужно писать код?
Спасибо!
Нет, просто зайдите в phpMyAdmin, найдите в своей БД, относящейся к сайту, таблицу с именем field_revision_field_[ваше_поле].
Если посмотрите в неё - там у тех товаров, где Вы выставили свой текст, будет в колонке field_[ваше_поле]_[value] он виден. Если это так - выполните к данной таблице запрос типа
UPDATE field_revision_field_[ваше_поле] SET field_[ваше_поле]_[VALUE] = 'Нужный текст'
Всё написал примерно, поэтому додумывайте уже по ходу песни. И на всякий случай перед выполнением запроса сделайте экспорт хотя бы этой таблицы, чтобы был бэкап на случай неудачи. А лучше сделать бэкап весь, смотря насколько важна уже выполненная часть работы.
Большое спасибо! Буду пробовать, по результатам отпишусь.
А какого размера текст ?
Много у вас этих созданных материалов ?
Созданных материалов порядка 200. Текст примерно знаков 300.
В vbo есть подходящий функционал
На самом деле, для единичной операции я бы всё сделал через базу, чем ставить ещё один модуль. Ничего сложного, выше дал готовый текст запроса, только подставить своё поле.
Теперь стало интересно .
Если большое количество нод , а контент везде одинаковый , как оптимальнее сделать ?
Неужели все хранить в бд ?
Зачем создавать большое количество нод с одинаковым контентом?
В общем, что-то я не понял ничего... А где ещё хранить и в чём, собственно, проблема? И что для Вас большое количество нод?
Вот случай как у audisport .
У него получается часть контента везде одинаковая .
База такими темпами быстро растолстеет .
Если именно часть, то ничего с этим не поделать. Другое дело, если бы всегда один и тот же текст нужен, в каждом товаре. Тогда конечно его нужно просто в шаблоне выводить, поле тут не нужно
А что Вы предлагаете? Это абсолютно нормальная ситуация. И ничего страшного я в этом не вижу. А если записей в таблице ОЧЕНЬ много, то есть средства оптимизации БД, её структуры, но это уже другая тема.
Вот о чем я вам и пишу )
Нет, эту мысль я видел и согласен с ней, но просто я надеюсь, что ТС понимает, что делает Просто мы подробностей не знаем. Самой задачи. Вдруг он городит из простой задачи целый огород.
Спасибо, за столь бурное обсуждение.
Но моя цель очень проста, у меня 200 товаров, но текст должен быть одинаковый у всех 200 товаров.
Спасибо!
хм, тогда Вам поле не нужно. Выводите этот *одинаковый текст* через шаблон.
Можно с этого момента поподробнее?
Спасибо!
Можно.
http://bit.ly/SnVfdw
Если всегда текст на странице товара один и тот же выводить, то просто пропишите его в своём шаблоне.
Решил проблему копированием в БД информации из одной таблицы в другую и переименованием в последнем столбцов и материалов.
Оригинально... Были предложены другие, более правильные советы, но сделали абы как.
Хозяин-барин.