Удаление предустановленнго значения при наведении мышки или клике

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#16 17 марта 2016 в 20:37
driverriga, может решить вопрос с другой стороны. Я как понимаю, вам надо сделать некоторую подсказку для заполнения поля, так используйте для этого поле "Описание" в настройках поля.
#17 17 марта 2016 в 20:42


driverriga, может решить вопрос с другой стороны. Я как понимаю, вам надо сделать некоторую подсказку для заполнения поля, так используйте для этого поле "Описание" в настройках поля.

Loadырь

Да :)Т.е вы говорите о предустановленном значении? То оно не очень удобно, так как пользователю придётся удалять предустановленное значение.

Необходимо задать placeholder всем предустановленным значениям.

Некоторым полям я уже сделал, но вот встроенному полю (из коробки) Title — Заголовок, никак не могу сделать
#18 17 марта 2016 в 20:47

пытаюсь найти файл, отвечаюший за Тип Поля — текст, что-бы добавить туда placeholder

driverriga
строковое поле string.tpl.php

  1. <?php echo html_input($field->data['type'], $field->element_name, $value, array('id'=>$field->id, 'placeholder'=>$placeholder)); ?>
текстовое поле text.tpl.php
  1. <?php echo html_textarea($field->element_name, $value, array('rows'=>$field->getOption('size'), 'id'=>$field->id, 'placeholder'=>$placeholder)); ?>
Соответственно $placeholder равен необходимому значению — переменной или языковой константе.
#19 17 марта 2016 в 20:48

Я уже запутался (

driverriga
driverriga, опишите свою проблему подробнее, где находится поле, что за поле как оно выводится сейчас и как вам хотелось бы чтобы оно выводилось и т.д.
#20 17 марта 2016 в 20:57
Soul, попробую, спасибо.

Val, итак, в админке есть поле (дефолтное) — Title/Заголовок.
К нему я применил предустановленные значения- "Впишите название рецепта, например: Тушеный кролик с картофелем и розмарином"

При добавлении записи, это поле отображает — "Впишите название рецепта, например: Тушеный кролик с картофелем и розмарином", но, его надо удалить, что-бы вписать своё. Это не удобно, хочется это сделать с placeholderом.

Дальше, есть поле с типом — Текст, и так-же с предустановоенным значением — "Описание рецепта", и на фронтенде, тажа самамя проблема :)
#21 17 марта 2016 в 21:01

К нему я применил предустановленные значения- "Впишите название рецепта, например: Тушеный кролик с картофелем и розмарином"

driverriga
Примените не в предустановленных значениях, а в "Описание". У вас под этим полем появится описание, что делать с этим полем.
#22 17 марта 2016 в 21:04
Loadырь, это да, но хочется именно с placeholderом))) если не получится, то сделаю как вы посоветовали! спасибо :)
#23 17 марта 2016 в 21:18
Можно сделать как у вас, с предустановленными значениями, прописать яваскрипт по очищению поля при клике в него. Но это надо разграничивать на случаи добавления поля и его редактирование. Других вариантов я не предполагаю, в вашем случае.
#24 17 марта 2016 в 21:20
Loadырь, понятно… буду тогда делать с "описанием"
#25 17 марта 2016 в 21:22
caption.tpl.php

  1.  
  2. <?php if ($field->title) { ?><label for="<?php echo $field->id; ?>"><?php echo $field->title; ?></label><?php } ?>
  3. <?php $placeholder = "Текст прелоадера"; ?>
  4. <script>
  5. $(function(){
  6.  
  7. $('#<?php echo $field->id; ?>').data('holder',$('#<?php echo $field->id; ?>').attr('placeholder'));
  8.  
  9. $('#<?php echo $field->id; ?>').focusin(function(){
  10. $(this).attr('placeholder','');
  11. });
  12. $('#<?php echo $field->id; ?>').focusout(function(){
  13. $(this).attr('placeholder',$(this).data('holder'));
  14. });
  15.  
  16. })
  17. </script>
  18. <?php echo html_input('text', $field->element_name, $value, array('id'=>$field->id, 'placeholder'=>$placeholder)); ?>
  19.  
  20.  
Но сюда еще необходимо добавить условие на проверку необходимого типа контента, иначе будет отображаться во всех заголовках.
#26 17 марта 2016 в 21:31
Soul, не сработало cry
#27 17 марта 2016 в 21:35
А должно было.
Мы, как я понимаю говорим о системно заданном поле "заголовок" (допустим для доски объявлений это "заголовок объявления") за данное поле отвечает файл шаблона caption.tpl.php. Если его изменить — все работает, но сюда еще необходимо добавить условие на проверку типа контента и выводить для каждого корректный прелоадер.
#28 17 марта 2016 в 21:40
Soul, увы, но не получается😊Я тогда остановлюсб на вариенте Лодыря…
#29 17 марта 2016 в 21:47
driverriga, добавьте недостающее в ваш файл ..\templates\default\assets\fields\caption.tpl.php:
  1. <?php
  2. if (preg_match("!%(.*?)%!si", $field->hint, $placeholder)) {
  3. $field->hint = str_replace($placeholder[0], "", $field->hint);
  4. }
  5. ?>
  6.  
  7. <?php if ($field->title) { ?><label for="<?php echo $field->id; ?>"><?php echo $field->title; ?></label><?php } ?>
  8. <?php echo html_input('text', $field->element_name, $value, array('id'=>$field->id, 'placeholder' => !empty($placeholder[1]) ? $placeholder[1] : "")); ?>
Затем в настройках поля Заголовок удалите строки из Предустановленных значений и в поле Подсказка для поля впишите например так:

%Впишите название рецепта, например: Тушеный кролик с картофелем и розмарином% текст подсказки

т.е. в символах % % указываете желаемый плейсхолдер и при необходимости текст подсказки
#30 17 марта 2016 в 22:17
Лучше оставить подсказку, как сказал Loadырь, например Подсказка:

Впишите название рецепта %например: Тушеный кролик с картофелем и розмарином%

joke
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.