Доброго времени суток. Буду признателен за советы и помощь.
Нашел готовый движок(сайт) на основе друпал.
На сайте установлена куча модулей. Commerce и прилагающие к нему, платежные системые (буржуйские) , редиректы и так далее + стандартные модули. Шаблон сделан на базе бутстрапа, шаблон хранится в отдельной папке и отдельная папка с шаблоном бутстрапа.
Проблема 1: модули старые, при обновлении модулей до актуальной версии, слетает весь функционал сайта.
Проблема 2:
Удаляю с вьюса поля связанные с локацией и адресом
Получаю вот такую хрень по всему сайту.
Я не знаю куда смотреть и где искать. Пробовал искать по куску текста, находится только в базе данных mcql. Но туда скорее всего пишется каким скриптом.
На сайте используется гугл карта + leafletjs
Комментарии
В Global:Custom text оно вписано.
Покупные сборки чаще всего злое зло, в силу того, что их деляют тяп ляп, если цензурно
field_collection_views.views_default.inc - Искать в таких файлах? Правильно ли я понял Вас?
Line 181: /* Field: Global: Custom text */
Line 204: /* Field: Global: Custom text */
Line 227: /* Field: Global: Custom text */
У вас на скриншоте список полей.
Там Global: Custom text
Откройте его, там вы найдете разметку.
Там нет такого класса и поля.
Может подскажите где еще посмотреть, спасибо, буду знать на будущее такую функцию.
И я не могу понять, а откуда взялись картинки.
<div class="field-price-range"><i class="fa fa-usd" aria-hidden="true"></i> [field_price_range]</div>
<div class="field-open-time"><i class="fa fa-clock-o" aria-hidden="true"></i> [field_open_time]</div>
class="fa fa-sitemap"
Это и есть картинки (иконки)
Значит, возможно, там каскад переопределений. Привет, платные сборки.
От Global: Custom text по полям поднимайтесь вверх.
Или сохраните содержимое поле куда-нибудь, и попробуйте построчно удалять, примерно поймёте куда они засунули.
Обновляйте модули поштучно, выцепляя модуль, у которого ломается вёрстка
Знаю что мягко говоря зло. Но выбор не большой
itcrowd72 мне бы хотя бы найти в каком файле находятся эти поля : [field_postaladdress_thoroughfare], [field_postaladdress_locality], я их не удалить , не скрыть не могу. И по всему сайту светятся.
Сохраните вьюху при помощи экспорта и по одному удаляйте все поля. Смотрите настройки каждого поля.
переписать значение поля конечно же можно, но интуиция подсказывает, что у вас задано в настройках поля. Т.е. можно мышкой исправить.
Кстати говоря, в экспорте вьюхи все искомые фрагменты будут видны.
Во вьюшках можно перезаписать вывод полей. Это довольно удобный функционал, когда нужно вывести что-то в стиле "бла-бла-бла, ля-ля-ля (трам-пам-пам)". Обычно для этого делают так: скрывают все поля и потом запихивают их вывод в global: custom text. Проблемы начинаются тогда, когда часть полей может не иметь значений, в таком случае переопределяют вывод в них и потом уже собирают конструкцию. Всё это если честно костыли, но не от хорошей жизни, причина в том что views просто не умеет обрабатывать поля логикой, даже самой простой через if. Есть там пара модулей, но либо не то, либо не так, в общем случае никак не умеет, поэтому костылим.
В вашем случае автор сборки что-то там накостылил чтобы вывод соответствовал его эстетическим вкусам. Соответственно ваша задача сводится к вдумчивому изучению структуры костылей. Занятие это скучное и грустное, и прямо скажем даже за деньги не особо то кому интересное.
Я бы на вашем месте сделал так: посмотрел на список используемых модулей, определился с тем какой функционал нужен, какой не очень, какой за прошедшее время поменялся/сломался/разное и уже на основе этого пилил свою сборку отвечающую запросам. Ну а тему уже оттуда потырить можно и будет понимание что там и как подпилить.
Ув. гуру друпала, суди из того что вьюха куда-то ссылается, на какой-то php код, мне нужно искать кусок кода php в коде шаблона?
'field_location_taxonomize_terms_location_taxonomize_longname' => 'field_location_taxonomize_terms_location_taxonomize_longname',
'field_postaladdress_postal_code' => 'field_postaladdress_postal_code',
'field_category' => 'field_category',
'field_tags' => 'field_tags',
*****
/* Field: Location: Long Name (indexed) */
$handler->display->display_options['fields']['field_location_taxonomize_terms_location_taxonomize_longname']['id'] = 'field_location_taxonomize_terms_location_taxonomize_longname';
$handler->display->display_options['fields']['field_location_taxonomize_terms_location_taxonomize_longname']['table'] = 'search_api_index_listing_index';
$handler->display->display_options['fields']['field_location_taxonomize_terms_location_taxonomize_longname']['field'] = 'field_location_taxonomize_terms_location_taxonomize_longname';
$handler->display->display_options['fields']['field_location_taxonomize_terms_location_taxonomize_longname']['label'] = '';
$handler->display->display_options['fields']['field_location_taxonomize_terms_location_taxonomize_longname']['exclude'] = TRUE;
$handler->display->display_options['fields']['field_location_taxonomize_terms_location_taxonomize_longname']['element_label_colon'] = FALSE;
/* Field: Address: Thoroughfare (i.e. Street address) (indexed) */
$handler->display->display_options['fields']['field_postaladdress_thoroughfare']['id'] = 'field_postaladdress_thoroughfare';
$handler->display->display_options['fields']['field_postaladdress_thoroughfare']['table'] = 'search_api_index_listing_index';
$handler->display->display_options['fields']['field_postaladdress_thoroughfare']['field'] = 'field_postaladdress_thoroughfare';
$handler->display->display_options['fields']['field_postaladdress_thoroughfare']['label'] = '';
$handler->display->display_options['fields']['field_postaladdress_thoroughfare']['exclude'] = TRUE;
$handler->display->display_options['fields']['field_postaladdress_thoroughfare']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_postaladdress_thoroughfare']['link_to_entity'] = 0;
/* Field: Address: Locality (i.e. City) (indexed) */
$handler->display->display_options['fields']['field_postaladdress_locality']['id'] = 'field_postaladdress_locality';
$handler->display->display_options['fields']['field_postaladdress_locality']['table'] = 'search_api_index_listing_index';
$handler->display->display_options['fields']['field_postaladdress_locality']['field'] = 'field_postaladdress_locality';
$handler->display->display_options['fields']['field_postaladdress_locality']['label'] = '';
$handler->display->display_options['fields']['field_postaladdress_locality']['exclude'] = TRUE;
$handler->display->display_options['fields']['field_postaladdress_locality']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_postaladdress_locality']['link_to_entity'] = 0;
/* Field: Address: Administrative area (i.e. State / Province) (indexed) */
$handler->display->display_options['fields']['field_postaladdress_administrative_area']['id'] = 'field_postaladdress_administrative_area';
$handler->display->display_options['fields']['field_postaladdress_administrative_area']['table'] = 'search_api_index_listing_index';
$handler->display->display_options['fields']['field_postaladdress_administrative_area']['field'] = 'field_postaladdress_administrative_area';
$handler->display->display_options['fields']['field_postaladdress_administrative_area']['label'] = '';
$handler->display->display_options['fields']['field_postaladdress_administrative_area']['exclude'] = TRUE;
$handler->display->display_options['fields']['field_postaladdress_administrative_area']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_postaladdress_administrative_area']['link_to_entity'] = 0;
/* Field: Address: Postal code (indexed) */
$handler->display->display_options['fields']['field_postaladdress_postal_code']['id'] = 'field_postaladdress_postal_code';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['table'] = 'search_api_index_listing_index';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['field'] = 'field_postaladdress_postal_code';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['label'] = '';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['exclude'] = TRUE;
$handler->display->display_options['fields']['field_postaladdress_postal_code']['alter']['alter_text'] = TRUE;
$handler->display->display_options['fields']['field_postaladdress_postal_code']['alter']['text'] = '[field_postaladdress_thoroughfare], [field_postaladdress_locality], [field_postaladdress_administrative_area] [field_postaladdress_postal_code] ';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_postaladdress_postal_code']['link_to_entity'] = 0;
.....
Нет, этот код в шаблонах вы не надёте.
Во-первых, вы выложили не весь код. И искомые поля у вас в этот кусок не попали.
Что делать:
1. Откройте ещё раз этот код.
2. Ctrl+F - найдите тот текст, который у вас там выводится под звёздочками.
3. В комментарии перед кодом с искомой строкой будет написано название вашего поля.
4. В настройках представления нажмите на поле с этим названием, в секции "Переопределить вывод поля пользовательским текстом" будет вставлен этот текст. Можете удалить или отредактировать этот текст, скрыть поле или удалить это поле вообще.
Например см сюда:
<?php
/* Field: Address: Postal code (indexed) */
$handler->display->display_options['fields']['field_postaladdress_postal_code']['id'] = 'field_postaladdress_postal_code';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['table'] = 'search_api_index_listing_index';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['field'] = 'field_postaladdress_postal_code';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['label'] = '';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['exclude'] = TRUE;
$handler->display->display_options['fields']['field_postaladdress_postal_code']['alter']['alter_text'] = TRUE;
$handler->display->display_options['fields']['field_postaladdress_postal_code']['alter']['text'] = '[field_postaladdress_thoroughfare], [field_postaladdress_locality], [field_postaladdress_administrative_area] [field_postaladdress_postal_code] ';
$handler->display->display_options['fields']['field_postaladdress_postal_code']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_postaladdress_postal_code']['link_to_entity'] = 0;
?>
А именно сюда:
<?php
$handler->display->display_options['fields']['field_postaladdress_postal_code']['alter']['text'] = '[field_postaladdress_thoroughfare], [field_postaladdress_locality], [field_postaladdress_administrative_area] [field_postaladdress_postal_code] ';
?>
Эта запись обозначает, что вывод поля в с машинным именем field_postaladdress_postal_code переопределён текстом '[field_postaladdress_thoroughfare], [field_postaladdress_locality], [field_postaladdress_administrative_area] [field_postaladdress_postal_code] '
А название поля здесь "Address: Postal code (indexed)"
Надеюсь, понятно объяснил?
gun_dose объяснили доступно и понятно. Попробовал. Положительные изменения есть. Буду разбираться дальше. Спасибо.