[РЕШЕНО] Как добавить один текст для всех уже созданных материалов?

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

Аватар пользователя audisport audisport 3 ноября 2012 в 16:08

Есть на сайте куча "Материалов" "Товар". И мне понадобилось что бы у Всех уже добавленных "Товаров" появилось дополнительное поле с одним и тем же текстом.
Так как "Товаров" много то делать это вручную нецелесообразно.
Пробовал добавить через "Главная » Управление » Структура » Типы материалов » Товар" новое поле "Полный текст с анонсом" "Текстовая область с анонсом" , но оно добавляет текст только для вновь создаваемых материалов, а к уже созданным текст не добавился.
Помогите пожалуйста.
Спасибо!

Комментарии

Аватар пользователя HydroBlast HydroBlast 3 ноября 2012 в 16:23

Создание поля для вас принципиально , оно где-то еще используется ?

Не знаю на сколько это правильно , но можно прямо в шаблон вашего типа материала добавить .

Аватар пользователя audisport audisport 3 ноября 2012 в 16:42

HydroBlast wrote:
Создание поля для вас принципиально , оно где-то еще используется ?

Не знаю на сколько это правильно , но можно прямо в шаблон вашего типа материала добавить .


Оно будет использоваться только в типе материалов "Товар".
А как это сделать? все что я смог добиться это добавление текста при создании нового "Товара".

Аватар пользователя CSoft CSoft 3 ноября 2012 в 16:32

"audisport" wrote:
но оно добавляет текст только для вновь создаваемых материалов, а к уже созданным текст не добавился.

Как я понимаю, сделайте простой запрос в БД и там подставьте свой текст в это поле для всех материалов.

Аватар пользователя audisport audisport 3 ноября 2012 в 17:37

CSoft wrote:
"audisport" wrote:
но оно добавляет текст только для вновь создаваемых материалов, а к уже созданным текст не добавился.

Как я понимаю, сделайте простой запрос в БД и там подставьте свой текст в это поле для всех материалов.


Простите я в друпале новичок, простой запрос к БД можно реализовать встроенными средствами или нужно писать код?
Спасибо!

Аватар пользователя CSoft CSoft 3 ноября 2012 в 17:59

Нет, просто зайдите в phpMyAdmin, найдите в своей БД, относящейся к сайту, таблицу с именем field_revision_field_[ваше_поле].

Если посмотрите в неё - там у тех товаров, где Вы выставили свой текст, будет в колонке field_[ваше_поле]_[value] он виден. Если это так - выполните к данной таблице запрос типа

UPDATE field_revision_field_[ваше_поле] SET field_[ваше_поле]_[VALUE] = 'Нужный текст'

Всё написал примерно, поэтому додумывайте уже по ходу песни. И на всякий случай перед выполнением запроса сделайте экспорт хотя бы этой таблицы, чтобы был бэкап на случай неудачи. А лучше сделать бэкап весь, смотря насколько важна уже выполненная часть работы.

Аватар пользователя audisport audisport 4 ноября 2012 в 0:16

CSoft wrote:
Нет, просто зайдите в phpMyAdmin, найдите в своей БД, относящейся к сайту, таблицу с именем field_revision_field_[ваше_поле].

Если посмотрите в неё - там у тех товаров, где Вы выставили свой текст, будет в колонке field_[ваше_поле]_[value] он виден. Если это так - выполните к данной таблице запрос типа

UPDATE field_revision_field_[ваше_поле] SET field_[ваше_поле]_[VALUE] = 'Нужный текст'

Всё написал примерно, поэтому додумывайте уже по ходу песни. И на всякий случай перед выполнением запроса сделайте экспорт хотя бы этой таблицы, чтобы был бэкап на случай неудачи. А лучше сделать бэкап весь, смотря насколько важна уже выполненная часть работы.


Большое спасибо! Буду пробовать, по результатам отпишусь.

Аватар пользователя audisport audisport 4 ноября 2012 в 0:15

HydroBlast wrote:
А какого размера текст ?
Много у вас этих созданных материалов ?

Созданных материалов порядка 200. Текст примерно знаков 300.

Аватар пользователя CSoft CSoft 3 ноября 2012 в 19:51

На самом деле, для единичной операции я бы всё сделал через базу, чем ставить ещё один модуль. Ничего сложного, выше дал готовый текст запроса, только подставить своё поле.

Аватар пользователя HydroBlast HydroBlast 3 ноября 2012 в 21:12

Теперь стало интересно .
Если большое количество нод , а контент везде одинаковый , как оптимальнее сделать ?
Неужели все хранить в бд ?

Аватар пользователя CSoft CSoft 3 ноября 2012 в 22:45

"HydroBlast" wrote:
Если большое количество нод , а контент везде одинаковый

Зачем создавать большое количество нод с одинаковым контентом?

"HydroBlast" wrote:
Неужели все хранить в бд ?

В общем, что-то я не понял ничего... А где ещё хранить и в чём, собственно, проблема? И что для Вас большое количество нод?

Аватар пользователя HydroBlast HydroBlast 4 ноября 2012 в 0:56

"CSoft" wrote:
Зачем создавать большое количество нод с одинаковым контентом?

Вот случай как у audisport .
У него получается часть контента везде одинаковая .

База такими темпами быстро растолстеет .

Аватар пользователя CSoft CSoft 4 ноября 2012 в 1:00

"HydroBlast" wrote:
У него получается часть контента везде одинаковая .

Если именно часть, то ничего с этим не поделать. Другое дело, если бы всегда один и тот же текст нужен, в каждом товаре. Тогда конечно его нужно просто в шаблоне выводить, поле тут не нужно Smile

"HydroBlast" wrote:
База такими темпами быстро растолстеет

А что Вы предлагаете? Это абсолютно нормальная ситуация. И ничего страшного я в этом не вижу. А если записей в таблице ОЧЕНЬ много, то есть средства оптимизации БД, её структуры, но это уже другая тема.

Аватар пользователя HydroBlast HydroBlast 4 ноября 2012 в 1:02

"CSoft" wrote:
если бы всегда один и тот же текст нужен, в каждом товаре. Тогда конечно его нужно просто в шаблоне выводить

Вот о чем я вам и пишу )

Аватар пользователя CSoft CSoft 4 ноября 2012 в 1:03

"HydroBlast" wrote:
Вот о чем я вам и пишу )

Нет, эту мысль я видел и согласен с ней, но просто я надеюсь, что ТС понимает, что делает Smile Просто мы подробностей не знаем. Самой задачи. Вдруг он городит из простой задачи целый огород.

Аватар пользователя audisport audisport 5 ноября 2012 в 13:22

CSoft wrote:
"HydroBlast" wrote:
Вот о чем я вам и пишу )

Нет, эту мысль я видел и согласен с ней, но просто я надеюсь, что ТС понимает, что делает Smile Просто мы подробностей не знаем. Самой задачи. Вдруг он городит из простой задачи целый огород.


Спасибо, за столь бурное обсуждение.
Но моя цель очень проста, у меня 200 товаров, но текст должен быть одинаковый у всех 200 товаров.
Спасибо!

Аватар пользователя CSoft CSoft 5 ноября 2012 в 18:02

"audisport" wrote:
Но моя цель очень проста, у меня 200 товаров, но текст должен быть одинаковый у всех 200 товаров.

хм, тогда Вам поле не нужно. Выводите этот *одинаковый текст* через шаблон.

Аватар пользователя audisport audisport 5 ноября 2012 в 21:18

CSoft wrote:
"audisport" wrote:
Но моя цель очень проста, у меня 200 товаров, но текст должен быть одинаковый у всех 200 товаров.

хм, тогда Вам поле не нужно. Выводите этот *одинаковый текст* через шаблон.


Можно с этого момента поподробнее?
Спасибо!

Аватар пользователя audisport audisport 9 ноября 2012 в 15:07

Решил проблему копированием в БД информации из одной таблицы в другую и переименованием в последнем столбцов и материалов.

Аватар пользователя CSoft CSoft 9 ноября 2012 в 15:50

Оригинально... Были предложены другие, более правильные советы, но сделали абы как.

Хозяин-барин.