Как узнать в Bitrix, в каком элементе, инфоблоке задаётся текст на странице, в месте на странице?
Здравствуйте!
Как, имея доступ в админку Битрикса, узнать в каком элементе, инфоблоке задаётся текст на странице, в месте на странице ? Например, поменять старый телефон, который присутствует на всех страницах . Например, после описания каждого товара приписка - хотите купить прямо сейчас ? Звоните 123-456-789...
Блоки именно с телефонами в Контактах отдельно, с ними всё в порядке.
Версия Битрикс 14.5
Нужный текст, например, телефон, также находится при поиске строки в таблицах базы.
Включи режим правки на странице (кнопка сверху в админ-панели) — если текст выводится через компонент, Битрикс покажет какой инфоблок и элемент. Раз ты уже нашёл телефон в базе, посмотри в какой таблице он лежит: если b_iblock_element_property или b_iblock_element, то по ID инфоблока найдёшь его в админке через Контент → Инфоблоки. Если в базе нет а на странице есть — значит захардкожено в шаблоне, тогда
Спасибо за быстрый ответ. Доступа через ftp к сайту у меня сейча снет.
В базе нужный текст в b_iblock_element есть, например, в ID таких-то в полях DETAIL_TEXT, SEARCHABLE_CONTENT
Можно ли узнать, берётся ли он туда из файла шаблона ? Вручную переписывать все записи долго, а скриптом делать не уверен, что смогу, и не уверен, что из-за такой правки не нарушится вообще весь контент сайта.
Сначала узнайте какой компонент это выводит! Это может быть компонент или включаемый файл! Далее если компонент, то в шаблоне компонента (template.php) найдите этот фрагмент кода! Он может быть как строка написанная непосредственно литералами (текстом) или как переменная (к примеру $phone) из базы данных (инфоблоков)! ФТП для этого не нужен можно посмотреть через админку Битрикс "Раздел файлы и папки".
Раз в DETAIL_TEXT — это контент элемента, не из шаблона тянется. Сделай UPDATE b_iblock_element SET DETAIL_TEXT = REPLACE(DETAIL_TEXT, 'старый_телефон', 'новый') по нужным ID, и не забудь кеш сбросить после.
Пума Тайланд, можно подсказать ещё по изменению через выгрузку/загрузку инфоблоков через админку Битрикса ? Можно скачать все нужные инфоблоки в виде большого CSV и поменять в нём и загрузить обратно. Но у инфоблоков много ненужных полей, оставшихся со времён создания сайта, и какие-то служебные (сортировка и проч.) и если я, для удобства работы с таблицей (например, я не только регекспом буду по тексту в csv проходиться, но и вручную просматривать) выгружу только столбцы с ID и с текстом (DETAIL_TEXT, SEARCHABLE_CONTENT...) и загружу их обратно, то в соответствующих инфоблоках не перезапишутся ли те невыгруженные поля на пустые или не сотрутся ли, раз их нет в структуре загружаемой таблицы инфоблков ?
Т.е. Битрикс поёмет, что из загружаемой таблицы нужно данные вставить на свои места, а не полностью заменить старые инфоблоки (со всеми полями) на новые (с частью полей) ?
Т.е. Битрикс поёмет, что из загружаемой таблицы нужно данные вставить на свои места
Мне кажется, что не поймёт. Но вы можете легко сами это проверить на тестовой площадке ( у вас же, разумеется, есть тестовая площадка?).
Так что мой совет: осваивайте SQL. И попробуйте adminer - по мне, он в разы удобнее phMyAdmin, а функция поиска по всей базе вообще огонь. Есть только один минус - работа с BLOB полями, но в Битриксе их нет.