Как узнать имя переменной для перевода поля с Entity translation?

Аватар пользователя univerico univerico 31 мая 2018 в 11:37

Здравствуйте! Подскажите, пожалуйста, как узнать, какая переменная используется для перевода метки поля при использовании модуля Entity translation?

ВложениеРазмер
Иконка изображения 2018-05-31_15-27-33.png26.85 КБ
Иконка изображения 2018-05-31_15-27-50.png25.03 КБ
Иконка изображения 2018-05-31_15-35-01.png26.98 КБ

Комментарии

Аватар пользователя univerico univerico 31 мая 2018 в 15:39

Спасибо. А как именно? Мне удалось найти только это видео
Using Devel Module to Inspect Page Variables
Но по нему не понятно. У меня появилась вкладка devel на ней три подвкладки и два блока, но как там найти нужную переменную?
Скриншоты прикрепляю прямо к теме.

Аватар пользователя bumble bumble 31 мая 2018 в 15:48
univerico wrote:

У меня появилась вкладка devel на ней три подвкладки и два блока, но как там найти нужную переменную?

В общем-то, там и искать.
Вам же виднее какую переменную Вам нужно получить Smile

Аватар пользователя univerico univerico 31 мая 2018 в 21:57

Не могу нигде найти нормальный мануал по devel.
Как вообще выглядит список переменных в devel?
На какой из вкладок? Load, tokens или render?
На вкладке Loads написано ".. (Object) stdClass"
и если развернуть дальше список
например
"vid (String, 2 characters ) 17"
Вкладка tokens у меня зависает
На вкладке Render
например
"... (Array, 10 elements)
body (Array, 16 elements)
#theme (String, 5 characters ) field
#weight (Integer) 0
#title (String, 4 characters ) Body
#access (Boolean) TRUE"

Со знаками # что перечислено?
Это же не переменные?

Аватар пользователя univerico univerico 1 июня 2018 в 17:38

Спасибо. А количество знаков к чему относится и слова после запятой?
Вот например
#title (String, 4 characters ) Body
Получается, что
#title - это элемент массива?
(а как понять, является ли он переменной, литералом и т.д.?)
а как дальше читать эту с строчку? как в ней ориентироваться?
"#title (String..."
значит что ,в title используется тип данных string?

А что значит "4 characters ) Body"
Body в данном случае это тип поля или это регион или что?

Если мсмотреть весь отчет
"... (Array, 11 elements)
body (Array, 16 elements)
#theme (String, 5 characters ) field
#weight (Integer) 0
#title (String, 4 characters ) Body"

Получается есть многмерный массив из 11 элементов.
Первым элементом тоже является массив из 16 элементов
В первый раз body (body (Array, 16 elements)) это регион?

Аватар пользователя univerico univerico 31 мая 2018 в 15:45

При просмотре кода F12 на странице редактирования материала на английском например у меня при наведении на поле body выдается в коде
<label for="edit-body-en-0-value">Body <span class="field-edit-link">(<a class="link-edit-summary" href="#">Edit summary</a>)</span></label>
А при наведении на сам текст

<html dir="ltr" lang="ru"><head><title data-cke-title="Визуальный текстовый редактор, edit-body-en-0-value">Визуальный текстовый редактор, edit-body-en-0-value</title><style data-cke-temp="1">html{cursor:text;*cursor:auto}
img,input,textarea{cursor:default}</style><link type="text/css" rel="stylesheet" href="/sites/all/modules/ckeditor/css/ckeditor.css?p9lepq"><link type="text/css" rel="stylesheet" href="/sites/all/libraries/ckeditor/contents.css?p9lepq"><link type="text/css" rel="stylesheet" href="https://major-minor.info/sites/all/libraries/ckeditor/plugins/copyformat...><link type="text/css" rel="stylesheet" href="https://major-minor.info/sites/all/libraries/ckeditor/plugins/tableselec...><style data-cke-temp="1">.cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}

img.cke_flash{background-image: url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/flash/images/placeholder.png?t=HBDD);background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 80px;height: 80px;}
.cke_editable form{border: 1px dotted #FF0000;padding: 2px;}

img.cke_hidden{background-image: url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/forms/images/hiddenfield.gif?t=HBDD);background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 16px !important;height: 16px !important;}
img.cke_iframe{background-image: url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/iframe/images/placeholder.png?t=HBDD);background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 80px;height: 80px;}
.cke_contents_ltr a.cke_anchor,.cke_contents_ltr a.cke_anchor_empty,.cke_editable.cke_contents_ltr a[name],.cke_editable.cke_contents_ltr a[data-cke-saved-name]{background:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/link/images/anchor.png?t=HBDD) no-repeat left center;border:1px dotted #00f;background-size:16px;padding-left:18px;cursor:auto;}.cke_contents_ltr img.cke_anchor{background:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/link/image...) no-repeat left center;border:1px dotted #00f;background-size:16px;width:16px;min-height:15px;height:1.15em;vertical-align:text-bottom;}.cke_contents_rtl a.cke_anchor,.cke_contents_rtl a.cke_anchor_empty,.cke_editable.cke_contents_rtl a[name],.cke_editable.cke_contents_rtl a[data-cke-saved-name]{background:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/link/image...) no-repeat right center;border:1px dotted #00f;background-size:16px;padding-right:18px;cursor:auto;}.cke_contents_rtl img.cke_anchor{background:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/link/image...) no-repeat right center;border:1px dotted #00f;background-size:16px;width:16px;min-height:15px;height:1.15em;vertical-align:text-bottom;}
div.cke_pagebreak{background:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/pagebreak/images/pagebreak.gif?t=HBDD) no-repeat center center !important;clear:both !important;width:100% !important;border-top:#999 1px dotted !important;border-bottom:#999 1px dotted !important;padding:0 !important;height:7px !important;cursor:default !important;}
.cke_show_blocks h6:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks h5:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks h4:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks h3:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks h2:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks h1:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks blockquote:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks address:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks pre:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks div:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks p:not([contenteditable=false]):not(.cke_show_blocks_off){background-repeat:no-repeat;border:1px dotted gray;padding-top:8px}.cke_show_blocks h6:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks/images/block_h6.png?t=HBDD)}.cke_show_blocks h5:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks h4:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks h3:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks h2:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks h1:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks blockquote:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks address:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks pre:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks div:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks p:not([contenteditable=false]):not(.cke_show_blocks_off){background-image:url(https://major-minor.info/sites/all/libraries/ckeditor/plugins/showblocks...)}.cke_show_blocks.cke_contents_ltr h6:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr h5:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr h4:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr h3:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr h2:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr h1:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr blockquote:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr address:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr pre:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr div:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_ltr p:not([contenteditable=false]):not(.cke_show_blocks_off){background-position:top left;padding-left:8px}.cke_show_blocks.cke_contents_rtl h6:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl h5:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl h4:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl h3:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl h2:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl h1:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl blockquote:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl address:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl pre:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl div:not([contenteditable=false]):not(.cke_show_blocks_off),.cke_show_blocks.cke_contents_rtl p:not([contenteditable=false]):not(.cke_show_blocks_off){background-position:top right;padding-right:8px}
.cke_show_borders  table.cke_show_border,.cke_show_borders  table.cke_show_border > tr > td, .cke_show_borders  table.cke_show_border > tr > th,.cke_show_borders  table.cke_show_border > tbody > tr > td, .cke_show_borders  table.cke_show_border > tbody > tr > th,.cke_show_borders  table.cke_show_border > thead > tr > td, .cke_show_borders  table.cke_show_border > thead > tr > th,.cke_show_borders  table.cke_show_border > tfoot > tr > td, .cke_show_borders  table.cke_show_border > tfoot > tr > th{border : #d3d3d3 1px dotted}
.cke_widget_wrapper{position:relative;outline:none}.cke_widget_inline{display:inline-block}.cke_widget_wrapper:hover>.cke_widget_element{outline:2px solid yellow;cursor:default}.cke_widget_wrapper:hover .cke_widget_editable{outline:2px solid yellow}.cke_widget_wrapper.cke_widget_focused>.cke_widget_element,.cke_widget_wrapper .cke_widget_editable.cke_widget_editable_focused{outline:2px solid #ace}.cke_widget_editable{cursor:text}.cke_widget_drag_handler_container{position:absolute;width:15px;height:0;display:none;opacity:0.75;transition:height 0s 0.2s;line-height:0}.cke_widget_wrapper:hover>.cke_widget_drag_handler_container{height:15px;transition:none}.cke_widget_drag_handler_container:hover{opacity:1}img.cke_widget_drag_handler{cursor:move;width:15px;height:15px;display:inline-block}.cke_widget_mask{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.cke_editable.cke_widget_dragging, .cke_editable.cke_widget_dragging *{cursor:move !important}
.cke_upload_uploading img{opacity: 0.3}
img.cke_drupal_pagebreak,img.cke_drupal_break{background-image: url(/sites/all/modules/ckeditor/plugins/drupalbreaks/images/pagebreak.gif?t=HBDD);background-position: center center;background-repeat: no-repeat;clear: both;display: block;float: none;width: 100%;border-top: #999999 1px dotted;border-bottom: #999999 1px dotted;height: 5px;}img.cke_drupal_break{border-top: #FF0000 1px dotted;border-bottom: #FF0000 1px dotted;}
img.cke_drupal_pagebreak,img.cke_drupal_break{background-image: url(/sites/all/modules/ckeditor/plugins/drupalbreaks/images/pagebreak.gif?t=HBDD);background-position: center center;background-repeat: no-repeat;clear: both;display: block;float: none;width: 100%;border-top: #999999 1px dotted;border-bottom: #999999 1px dotted;height: 5px;}img.cke_drupal_break{border-top: #FF0000 1px dotted;border-bottom: #FF0000 1px dotted;}</style></head><body contenteditable="true" class="cke_editable cke_editable_themed cke_contents_ltr cke_show_borders" spellcheck="false"><p>test text en body</p></body></html>

Может это как-то поможет?

Аватар пользователя loup54 loup54 1 июня 2018 в 14:05
1

php вы так не увидите, его не видно в этом и его особенность, он вам генерировал хтмл вот его вы и смотрите

Аватар пользователя univerico univerico 1 июня 2018 в 13:37

Спасибо большое! Там для 8, но я попробую и на 7.
Нужно установить модуль devel kint и в шаблон страницы, на которой я хочу увидеть информацию, добавить

1){{ kint() }}, чтобы получить список всех переменных,

2)или чтобы подробнее о какой-то перемнной почитать
{{ kint(any_variable_name) }}

Верно?
Кстати похоже на то, что выводится на вкладке devel для конкретных материалов, так что попробую и ту информацию использовать.
Только оcтается непонятным, что при использовании devel обычным спсобом показывается со знаком #

Аватар пользователя loup54 loup54 1 июня 2018 в 13:41

на 7-ом этот код работать не будет, это же twig, а его в 7-ом нет, ниже верно подсказали, вам нужно использовать на 7-ом php

Аватар пользователя loup54 loup54 1 июня 2018 в 13:43

Вместо скобок твига {} пишите теги пхп <?php ?> и добавьте код который вам подсказали ниже

Аватар пользователя univerico univerico 1 июня 2018 в 14:07

Спасибо. Т.е. в шаблон страницы, переменные которой я хочу посмотреть, ввожу
dpm(get_defined_vars()) и потом по нужному url на страницу выведется весь список переменных,
а если страница была html и не было тега php, то добавляю
<?php
А закрывающий тег точно нужно? можно же на всякий случай, если я сомневаюсь, чтобы не заглючило закрывающий не писать?

<?php
dpm(get_defined_vars())

Так верно?

Т.е. где-то в Друпале уже создана функция с именем dpm, код которой обеспечивает вывод списка перeменных или информации о них?

Недавно в соседней ветке поднималась тема редактирования через командную строку. Поэтому и вопрос, эти функции можно использовать только через редакторы файлов или можно как-то через UI или прямо из консоли с ними работать?

Аватар пользователя loup54 loup54 1 июня 2018 в 15:00

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

Аватар пользователя gun_dose gun_dose 1 июня 2018 в 11:33
2

В семёрке. Ставим devel. В нужном месте в коде пишем dpm(имя_переменной). Если не знаете, как называется переменная, dpm(get_defined_vars()). Если не знаете, куда писать, то тут уже только xdebug поможет. Но чтобы его успешно юзать, нужно как минимум мыслить, как друпал.

Аватар пользователя univerico univerico 1 июня 2018 в 13:39

Спасибо. Это более сложный способ, потому что я не знаю куда подставлять dpm, но когда-нибудь возможно попытаюсь.

Аватар пользователя loup54 loup54 1 июня 2018 в 18:27
1
univerico wrote:

#title (String, 4 characters ) Body

title элемент массива типа строка состоящая из 4-х символов, символ простейший тип данных, в Си например Стрингов нет)))Стринг это массив из символов. Вот лучшая документация на русском там все понятно, море информации http://www.php.su/

Аватар пользователя univerico univerico 1 июня 2018 в 19:59

Спасибо. На net тоже обращу внимание. Я одновременно все читаю и puzzleweb, и su, и net.
А по коду Друпала, что Вам нравится на русском?

Аватар пользователя loup54 loup54 1 июня 2018 в 21:31

сорри, за офф топ! Но в ходе беседы придумал название сайта для взрослых(по программированию на Си) stringov.net

Аватар пользователя loup54 loup54 1 июня 2018 в 18:36
1
univerico wrote:

(а как понять, является ли он переменной, литералом и т.д.?

массив это и есть переменная просто состоящая из нескольких элементов

Аватар пользователя univerico univerico 1 июня 2018 в 20:00

Спасибо за комменатрии и рекомендации сайта.

Я пока изучаю по puzzleweb.ru, сначала мне там было понятнее, php.su почитаю тоже тогда внимательнее.
У меня ощущение, что мне не только по php, а вообще надо еще что-то почитать по описанию того, как устроен код Друпал. Но желательно и на английском, и на русском. На английском много инфы, а вот что бы Вы порекомендавали на русском? Может на этом сайте какой-то раздел именно или еще на каком-то?

loup54 wrote:

title элемент массива типа строка состоящая из 4-х символов

Но я пытаюсь понять, как по этой таблице сводной вычислить какой был исходно код php для создания этой страницы.

В данном случае для
... (Array, 11 elements)
body (Array, 16 elements)
#theme (String, 5 characters ) field
#weight (Integer) 0
#title (String, 4 characters ) Body

код мог быть например (я имею ввиду только принцип, так как в тонкостях расположить нормально не получается здесь у меня друг под другом для удобства чтения и в знаках тоже ошибки наверное)

<?php$array_of_11_elements_name = array($body = array('title' => 'body',
                                                          .....               
                                                                     );
?>

И имелось ввиду что для поля body есть массив с элементами с информацией об этом поле,
например
вес поля - 0 (ключ - weight, значение 0: weight => 0),
заголовок - название типа поля (ключ title, значение body: title => body )
А что имеется ввиду тогда под #theme (String, 5 characters ) field?
это ключ такой "theme" для поля? тогда что он значит?

или имеется ввиду фактичсекое количество символов в значении title? Если у меня заголовок страницы фактически из 4 символов (например abcd), то это так и отражается?
title - ключ ассоциативного массива,
и какие-то четыре символа - значение?
А что такое - body после скобок ? или это и есть фактическое значение?
( #title (String, 4 characters ) Body )

<?php
$array_of_11_elements_name 
= array($body = array('title' => 'abcd',
                                                          .....               
                                                                     );
?>

т.е. title - в данном случае был - ключом для фактического загловка конкретной страницы (того что выводится с h1)

loup54 wrote:

Стринг это массив из символов.

в данном случае? но не обязательно?
в смысле ключ - string, а значение - массив?

Я имею ввиду например title, как понять : это переменная или литерал с типом данных string - строка?

И почему у некоторых есть #, а у некторых нет
Например
links (Array, 5 elements)
#theme (String, 11 characters ) links__node
#pre_render (Array, 1 element)
#attributes (Array, 1 element)
node (Array, 3 elements)
comment (Array, 3 elements)

И attributes, и node являются значениеми для массив links и сами в то же время являются массивами, но
у одного есть #, у другого нет?

Аватар пользователя loup54 loup54 1 июня 2018 в 21:39

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

Аватар пользователя loup54 loup54 1 июня 2018 в 21:41
univerico wrote:

в данном случае? но не обязательно?

в смысле ключ - string, а значение - массив?

Забудьте, это просто к слову, к пхп это не имеет отношение, это массив если вы пишете код на Си, в пхп есть тип данных стринг-строка

Аватар пользователя loup54 loup54 1 июня 2018 в 21:44
univerico wrote:

Я имею ввиду например title, как понять : это переменная или литерал с типом данных string - строка?

это элемент массива с типом данных строка