Как это работает?

axa-xa-xa
15 Posts
axa-xa-xa posted this 05 September 2016

Коллеги добрый день.

Кому нибудь удалось сделать полноценный проект под Drupal 7?

Весь мозг вывернул на изнанку, а так и не понял как эта хрень работает...

Коллеги добрый день. Кому нибудь удалось сделать полноценный проект под Drupal 7? Весь мозг вывернул на изнанку, а так и не понял как эта хрень работает...
Vote to pay developers attention to this features or issue.
23 Comments
Order By: Standard | Newest
Support Team
Support Team posted this 05 September 2016

Добрый день.

Что Вы конкретно имеете ввиду?

Добрый день. Что Вы конкретно имеете ввиду?
axa-xa-xa
15 Posts
axa-xa-xa posted this 05 September 2016

Не могу темизировать запись (post).
Элементарная "новость" - заголовок, картинка, текст... в конструкторе она представлено одним, не редактируемым по дизайну, блоком. ((( Добавляю предложенный дизайн и не могу понять как мне все это соединить, как назначить полям выбранный стиль.

Не могу темизировать запись (post). Элементарная "новость" - заголовок, картинка, текст... в конструкторе она представлено одним, не редактируемым по дизайну, блоком. ((( Добавляю предложенный дизайн и не могу понять как мне все это соединить, как назначить полям выбранный стиль.
Support Team
Support Team posted this 05 September 2016

Добрый день,

Возможно, эта инструкция по использованию темплейтов вам поможет:
http://answers.themler.com/articles/36691/how-to-work-with-templates-in-drupal-themes

Sincerely,
Hella

Добрый день, Возможно, эта инструкция по использованию темплейтов вам поможет: http://answers.themler.com/articles/36691/how-to-work-with-templates-in-drupal-themes Sincerely, Hella
axa-xa-xa
15 Posts
axa-xa-xa posted this 05 September 2016

Не помогла. (((

Как назначить вашему шаблону значение моего поля?
Как привязать Themler к моему типу материалов?
Как привязать Themler к модулю views?

У меня много вопросов. Artisteer более понятен. В Themler приходится искать и угадывать.

Очень хочу увидеть видео урок "Как пользоваться Themler" для пользователей Drupal.

Не помогла. ((( Как назначить вашему шаблону значение моего поля? Как привязать Themler к моему типу материалов? Как привязать Themler к модулю views? У меня много вопросов. Artisteer более понятен. В Themler приходится искать и угадывать. Очень хочу увидеть видео урок "Как пользоваться Themler" для пользователей Drupal.
Support Team
Support Team posted this 05 September 2016

Тогда посмотрите вот эту статью:
https://www.drupal.org/docs/7/theming/template-theme-hook-suggestions

Раздел How Drupal determines page theme hook suggestions based on path

Sincerely,
Hella

Тогда посмотрите вот эту статью: https://www.drupal.org/docs/7/theming/template-theme-hook-suggestions Раздел *How Drupal determines page theme hook suggestions based on path* Sincerely, Hella
axa-xa-xa
15 Posts
axa-xa-xa posted this 05 September 2016

Мой попугайчик подсказал решение.

  1. Создать свой темплейт - page-node-news.tpl.php
  2. Выбрать дизайн
  3. Заполнить его реальной информацией: Title, Body, Images и пр.
  4. Сохранить тему
  5. Скопировать и отредактировать page-node-news.tpl.php т.е. заменить блоки
    <?php echo?><'custom_code' enter your text></'custom_code'><br> CUSTOM_CODE;?>
    на.... например на Заголовок <?php print $title;?> и так далее.

  6. Сохранить и загрузить темплейт обратно.

Может так и было задумано разработчиками (я имею ввиду ручное "управление" и доводку напильником), но про это они молчат.

Мой попугайчик подсказал решение. 1. Создать свой темплейт - page-node-news.tpl.php 2. Выбрать дизайн 3. Заполнить его реальной информацией: Title, Body, Images и пр. 4. Сохранить тему 5. Скопировать и отредактировать page-node-news.tpl.php т.е. заменить блоки &lt;?php echo?&gt;&lt;&#39;custom_code&#39; enter your text&gt;&lt;/&#39;custom_code&#39;&gt;&lt;br&gt; CUSTOM_CODE;?> на.... например на Заголовок &lt;?php print $title;?&gt; и так далее. 6. Сохранить и загрузить темплейт обратно. Может так и было задумано разработчиками (я имею ввиду ручное "управление" и доводку напильником), но про это они молчат.

Last edited 05 September 2016 by axa-xa-xa

webetod
30 Posts
webetod posted this 06 September 2016

Themler годится для создания макета (слайдер, хидер, меню, колонки, регионы и т. д.), а для темизации нод и представлений я использую рукописные css, чего и вам советую. Пытаться использовать темплейты, на мой взгляд, это полный бред и потеря времени -- в этом плане Themler только сбивает с толку своими заморочками. Я редактирую один дефолтный темплейт (Set as default), а далее css.

А в целом, Themler -- более мощный инструмент чем Artisteer, хотя немного посложнее. Чем мощнее программа, тем больше сложностей.

Themler годится для создания макета (слайдер, хидер, меню, колонки, регионы и т. д.), а для темизации нод и представлений я использую рукописные css, чего и вам советую. Пытаться использовать темплейты, на мой взгляд, это полный бред и потеря времени -- в этом плане Themler только сбивает с толку своими заморочками. Я редактирую один дефолтный темплейт (Set as default), а далее css. А в целом, Themler -- более мощный инструмент чем Artisteer, хотя немного посложнее. Чем мощнее программа, тем больше сложностей.
Support Team
Support Team posted this 06 September 2016

Hi,

В общем и целом Artisteer темы для Drupal от Themler тем мало чем отличаются. Работают аналогично. С той лишь разницей, что в Themler теме для каждого типа страниц есть свой темплейт и есть возможность добавить кастомный темплейт по content type, например. Ну и больше мест где можно что-то стилезовать. В остальном работает он так же. Создает тему (дизайн) и в определенном месте выводит то, что отдает Drupal.

Пишите, если у вас будут какие-то еще вопросы (чем конкретнее вопрос, тем конкретнее будет ответ :-) ).

Thank you,
Themler Team

Hi, В общем и целом Artisteer темы для Drupal от Themler тем мало чем отличаются. Работают аналогично. С той лишь разницей, что в Themler теме для каждого типа страниц есть [свой темплейт](page:36691) и есть возможность добавить [кастомный темплейт](page:26302) по content type, например. Ну и больше мест где можно что-то стилезовать. В остальном работает он так же. Создает тему (дизайн) и в определенном месте выводит то, что отдает Drupal. Пишите, если у вас будут какие-то еще вопросы (чем конкретнее вопрос, тем конкретнее будет ответ :-) ). Thank you, Themler Team
axa-xa-xa
15 Posts
axa-xa-xa posted this 11 September 2016

Новая проблема :-(((
Как правильно вставить php code в шаблон?

  1. Если редактирую руками созданный темплейт page-node-news.tpl.php и меняю в нем

<p class> <?php echo?><'custom_code' текст статьи> custom_code;></'custom_code'></p>

на

<p class> <?php print $node-?>body['und'][0]['value'];?> ?></p>

Все работает :-)))

Если в шаблоне themler вставляю CMS код в виде <?php print $node-?>body['und'][0]['value'];?>
то ничего не работает :-(((

Как сделать чтобы в шаблоне выводилось нужное поле?

Новая проблема :-((( Как правильно вставить php code в шаблон? 1. Если редактирую руками созданный темплейт page-node-news.tpl.php и меняю в нем > &lt;p class&gt; &lt;?php echo?&gt;&lt;&#39;custom_code&#39; текст статьи&gt; custom_code;&gt;&lt;/&#39;custom_code&#39;&gt;&lt;/p&gt; на > &lt;p class&gt; &lt;?php print $node-?&gt;body[&#39;und&#39;][0][&#39;value&#39;];?&gt; ?&gt;&lt;/p&gt; Все работает :-))) Если в шаблоне themler вставляю CMS код в виде &lt;?php print $node-?&gt;body['und'][0]['value'];?> то ничего не работает :-((( Как сделать чтобы в шаблоне выводилось нужное поле?

Last edited 11 September 2016 by axa-xa-xa

axa-xa-xa
15 Posts
axa-xa-xa posted this 13 September 2016

Удивительно !!!
Разработчик не знает как работает проданная программа...

Удивительно !!! Разработчик не знает как работает проданная программа...
Support Team
Support Team posted this 13 September 2016

Hi,

А как вы себе представляете разработчика, который не знает как работает то, что он написал? Я не представляю.

Код, добавляемый в CMS Code контрол попадает а include file (/includes/custom_cms_code_2.php) в котором переменная $node недоступна. Но она доступна на page.tpl (в нашем случае на page-node-news.tpl) т.к. это базовый файл темплейта Drupal и на них доступны глобальные переменные Drupal.
К глобальным переменным в темплейтах темы мы добавляем префикс. Поэтому в include файлах нужно объявить глобальную переменную с префиксом. Т.е. код, добавляемый в CMS Code контрол должен выглядеть так:
<?php global $bdpage_node; print $bdpage_node->body['und'][0]['value']; ?>

Thank you,
Themler team

Hi, А как вы себе представляете разработчика, который не знает как работает то, что он написал? Я не представляю. Код, добавляемый в CMS Code контрол попадает а include file (`/includes/custom_cms_code_2.php`) в котором переменная `$node` недоступна. Но она доступна на `page.tpl` (в нашем случае на `page-node-news.tpl`) т.к. это базовый файл темплейта Drupal и на них доступны глобальные переменные Drupal. К глобальным переменным в темплейтах темы мы добавляем префикс. Поэтому в include файлах нужно объявить глобальную переменную с префиксом. Т.е. код, добавляемый в CMS Code контрол должен выглядеть так: `<?php global $bdpage_node; print $bdpage_node->body['und'][0]['value']; ?>` Thank you, Themler team
axa-xa-xa
15 Posts
axa-xa-xa posted this 13 September 2016

Добрый день.
Вы знаете все работает, а мне показалось что мой вопрос поставил вас в тупик.

Спасибо.
Мои извинения... Вот так, по чуть чуть, может и освою Themler.

P.S.
А нельзя в Insret -> More -> Add control добавить тип "Переменная", чтобы не плодить лишние includes?

Добрый день. Вы знаете все работает, а мне показалось что мой вопрос поставил вас в тупик. Спасибо. Мои извинения... Вот так, по чуть чуть, может и освою Themler. P.S. А нельзя в Insret -> More -> Add control добавить тип "Переменная", чтобы не плодить лишние includes?

Last edited 13 September 2016 by axa-xa-xa

Support Team
Support Team posted this 14 September 2016

Hi,

В Темлере принята такая структура при работе с контролами.
Includes нужны, в частности, для того, что если юзер расшарит контрол на несколько темплейтов, код контрола будет в одном месте (файле), а вызовов - несколько. В итоге - меньше вес темы. Хотя в данном конкретном случае это и не критично, но инклюды используются очень многими контролами.

В общем-то, переменная - это и есть Custom Code контрол. Что должно быть в этом контроле Var - только одна переменная? Что тогда с ней делать? Сейчас в темах не только PHP, но еще и Smarty код есть. Доделаем Drupal 8 темы, там еще TWIG добавится.
Я думаю, что такой контрол внесет еще больше путаницы и непонимания.

Пишите, есди у вас есть еще какие-либо вопросы.

Thank you,
Themler Team

Hi, В Темлере принята такая структура при работе с контролами. Includes нужны, в частности, для того, что если юзер расшарит контрол на несколько темплейтов, код контрола будет в одном месте (файле), а вызовов - несколько. В итоге - меньше вес темы. Хотя в данном конкретном случае это и не критично, но инклюды используются очень многими контролами. В общем-то, переменная - это и есть Custom Code контрол. Что должно быть в этом контроле Var - только одна переменная? Что тогда с ней делать? Сейчас в темах не только PHP, но еще и Smarty код есть. Доделаем Drupal 8 темы, там еще TWIG добавится. Я думаю, что такой контрол внесет еще больше путаницы и непонимания. Пишите, есди у вас есть еще какие-либо вопросы. Thank you, Themler Team
axa-xa-xa
15 Posts
axa-xa-xa posted this 03 November 2016

Столкнулся с другой проблемой - понадобилось изменить парочку слов в "Шапке".

  1. Если менять через Themer, то после сохранения перезаписываются все мои пользовательский шаблоны, т.е. все мои настройки в шаблонах удаляются.
  2. Если менять "Шапку" во всех шаблонах руками, то получается долго и утомительно.

Если я правильно понимаю запись page-node-news.tpl - это подразумевает что пользовательский шаблон НОВОСТИ (node-news) вставлен в структуру страницу вывода (page) вместе с Шапкой, Футером и другими регионами.
А такое решение возможно node-news.tpl? Чтобы редактировать только тип материала (news) и быть независимым от Шапки и других регионов?

Столкнулся с другой проблемой - понадобилось изменить парочку слов в "Шапке". 1. Если менять через Themer, то после сохранения перезаписываются все мои пользовательский шаблоны, т.е. все мои настройки в шаблонах удаляются. 2. Если менять "Шапку" во всех шаблонах руками, то получается долго и утомительно. Если я правильно понимаю запись page-node-news.tpl - это подразумевает что пользовательский шаблон НОВОСТИ (node-news) вставлен в структуру страницу вывода (page) вместе с Шапкой, Футером и другими регионами. А такое решение возможно node-news.tpl? Чтобы редактировать только тип материала (news) и быть независимым от Шапки и других регионов?
axa-xa-xa
15 Posts
axa-xa-xa posted this 04 November 2016

Еще вопрос...
Вы подсказали мне как получить доступ к полю node->body, через global $bdpage_node

Подскажите как вставить в CMS Code форму Add to cart?

Еще вопрос... Вы подсказали мне как получить доступ к полю node->body, через global $bdpage_node Подскажите как вставить в CMS Code форму Add to cart?
axa-xa-xa
15 Posts
axa-xa-xa posted this 06 November 2016

???
Ощущение что меня игнорируют, 2-й день жду ответа... (((

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

??? Ощущение что меня игнорируют, 2-й день жду ответа... ((( Уважаемые разработчики. Если вы затрудняетесь ответить или не желаете, хотя бы подготовьте внятную и подробную документацию по вашему продукту.
Support Team
Support Team posted this 08 November 2016

Hi,

Обычно мы отвечаем в течении 1-3 рабочих дней. В зависимости от количества кейсов.

Тема Drupal не поддерживает кастомизацию ecommerce контролов - они будут выведены через block->content, node->content или page->content в зависимости от того куда (в какой регион) вы поместите этот модуль. Что это за модуль мы тоже не знаем, т.к. опять же не поддерживаем кастомизацию ecommerce. Т. е либо вы используете дефолтовые переменные либо дебажите свой модуль.

Вы можете открыть файл {theme_name}\versions\7.x\theme-methods.php и отредактировать в нем метод {theme_name}_preprocess_node
Потом добавить файл для ноды в с своим именем {theme_name}\templates\node\ - сейчас там лежит node--default.tpl.php - это мы сделали для того чтобы единообразно поддерживать 7.x, 6.x.

Themler тема поддерживает кастомизацию темплейтов page-, не node-.
Это нам не нужно, т.к. мы на разные типы шаблонов вставляем разные посты и обрабатываем это через один файл node- для всех поддерживаемых версий CMS.

Thank you,
Themler Team

Hi, Обычно мы отвечаем в течении 1-3 **рабочих** дней. В зависимости от количества кейсов. Тема Drupal не поддерживает кастомизацию ecommerce контролов - они будут выведены через block->content, node->content или page->content в зависимости от того куда (в какой регион) вы поместите этот модуль. Что это за модуль мы тоже не знаем, т.к. опять же не поддерживаем кастомизацию ecommerce. Т. е либо вы используете дефолтовые переменные либо дебажите свой модуль. Вы можете открыть файл `{theme_name}\versions\7.x\theme-methods.php` и отредактировать в нем метод `{theme_name}_preprocess_node` Потом добавить файл для ноды в с своим именем `{theme_name}\templates\node\` - сейчас там лежит `node--default.tpl.php` - это мы сделали для того чтобы единообразно поддерживать 7.x, 6.x. Themler тема поддерживает кастомизацию темплейтов page-, не node-. Это нам не нужно, т.к. мы на разные типы шаблонов вставляем разные посты и обрабатываем это через один файл node- для всех поддерживаемых версий CMS. Thank you, Themler Team
axa-xa-xa
15 Posts
axa-xa-xa posted this 08 November 2016

Не знаю, может я пошел не правильным путем, но:
1. Я установил отладчик XDebug,
2. В CMS Code сделал точку остановки,
3. Просмотрел все возможные, доступные, переменные в #GLOBALS

Вот что получилось:
Доступ к полям в my_node я получаю так...

<?php global $bdpage_node;
      $fill = field_view_field('node', $bdpage_node, 'field_my_field');
print render($fill);
?> 

К форме добраться было сложней...

<?php global $bdpage_page;global $bdpage_node;
      $my_nid = $bdpage_node->nid;
      $my_form = render($bdpage_page['content']['system_main']['nodes'][$my_nid]['add_to_cart']['#form']);
print $my_form;
?>

К картинке так...

<?php global $bdpage_node; 
    $fill = field_view_field('node', $bdpage_node, 'field_my_image');
    print render($fill); 
?>

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

P.S. Позже расскажу как сделал вывод через views

Не знаю, может я пошел не правильным путем, но: 1. Я установил отладчик XDebug, 2. В CMS Code сделал точку остановки, 3. Просмотрел все возможные, доступные, переменные в #GLOBALS Вот что получилось: Доступ к полям в my_node я получаю так... <?php global $bdpage_node; $fill = field_view_field('node', $bdpage_node, 'field_my_field'); print render($fill); ?> К форме добраться было сложней... <?php global $bdpage_page;global $bdpage_node; $my_nid = $bdpage_node->nid; $my_form = render($bdpage_page['content']['system_main']['nodes'][$my_nid]['add_to_cart']['#form']); print $my_form; ?> К картинке так... <?php global $bdpage_node; $fill = field_view_field('node', $bdpage_node, 'field_my_image'); print render($fill); ?> Очень, очень, очень жаль что приходится изворачиваться. Я бы с удовольствием почитал документацию по Themler, а еще лучше посмотрел видео урок. ((( P.S. Позже расскажу как сделал вывод через views
Support Team
Support Team posted this 11 November 2016

Hi,

В контексте ваших вопросов не совсем понятно что конкретно вы хотите увидеть на видео или в документации. Это все не есть стандартный функционал темы. К тому же весьма специфичен и подобные вопросы единичны.

Глобальные переменные мы возвращаем с приставкой bdpgae_ если в файле page- и bdnode_ если в файле node-. Все.
На счет переменных которые вам нужны - мы не знаем их имя, какой модуль их добавил и в каком контексте нам нужно их смотреть. Это вы знаете, что переменная называется add_to_cart или myfield_name. Мы этого знать не можем.
Мы работаем с той функциональностью которую отдает тема, а то, что вы дальше добавляете к стандартному функционалу темы не относится. Максимум мы можем указать общее направление или дать общее решение. Задача темы - это только дизайн.

Thank you,
Themler Team

Hi, В контексте ваших вопросов не совсем понятно что конкретно вы хотите увидеть на видео или в документации. Это все не есть стандартный функционал темы. К тому же весьма специфичен и подобные вопросы единичны. Глобальные переменные мы возвращаем с приставкой `bdpgae_` если в файле `page-` и `bdnode_` если в файле `node-`. Все. На счет переменных которые вам нужны - мы не знаем их имя, какой модуль их добавил и в каком контексте нам нужно их смотреть. Это вы знаете, что переменная называется add_to_cart или myfield_name. Мы этого знать не можем. Мы работаем с той функциональностью которую отдает тема, а то, что вы дальше добавляете к стандартному функционалу темы не относится. Максимум мы можем указать общее направление или дать общее решение. Задача темы - это только дизайн. Thank you, Themler Team
axa-xa-xa
15 Posts
axa-xa-xa posted this 11 November 2016

Добрый день. Спасибо за ответ.
Свои решения я выкладываю для других пользователей Drupal, может кому пригодится. Может я не совсем подготовлен, как программист, но думаю что я не одинок. Artisteer был понятен и прост, Themler приходится изучать и понимать. Без документации или видео уроков это сделать трудно. Я не нашел на сайте информацию про глобальные переменные $bdpage_page; $bdpage_node пока не спросил у вас, а про это можно было написать "Как получить доступ к данным".

Ваши видео уроки создают ощущение простоты при создании темы, а на деле (после покупки) оказывается что в Themler + Drupal не совсем все просто. Я рассчитывал что также легко буду менять стили в CMS content, а на деле CMS content - не редактируемый блок данных. В видео уроках я хотел бы увидеть, как можно создать изменить/создать/адаптировать тему CMS Drupal с помощью Themler, хотя бы простейшие моменты CMS код, создание форм и пр.

axa-xa-xa

Добрый день. Спасибо за ответ. Свои решения я выкладываю для других пользователей Drupal, может кому пригодится. Может я не совсем подготовлен, как программист, но думаю что я не одинок. Artisteer был понятен и прост, Themler приходится изучать и понимать. Без документации или видео уроков это сделать трудно. Я не нашел на сайте информацию про глобальные переменные $bdpage_page; $bdpage_node пока не спросил у вас, а про это можно было написать "Как получить доступ к данным". Ваши видео уроки создают ощущение простоты при создании темы, а на деле (после покупки) оказывается что в Themler + Drupal не совсем все просто. Я рассчитывал что также легко буду менять стили в CMS content, а на деле CMS content - не редактируемый блок данных. В видео уроках я хотел бы увидеть, как можно создать изменить/создать/адаптировать тему CMS Drupal с помощью Themler, хотя бы простейшие моменты CMS код, создание форм и пр. axa-xa-xa
You must log in or register to leave comments