Как скрыть номер телефона на страницах сайта

#1 19 декабря 2014 в 18:36
Возможно-ли скрыть номер телефона на сайте? Например в Объявлениях, что-бы "не светить" номер, по примеру Авито?
есть решение?
#2 19 декабря 2014 в 19:02
Скрыть можно. Готовых решений под ICMS нет. Наиболее простой вариант — погуглить решение на javascript
#3 19 декабря 2014 в 20:25
я в некоторых категориях скрываю номер телефона таким способом (первая ветка)

номер телефона предлагается вводить в специальное поле созданное с помощью конструктора форм. КТо вводит не туда, при модерации объявления исправляю это.

в com_board_item.tpl

вместо {$form.field}

это
{if $user_id}{$form.field} {else} <a href="/login">показать номер</a>

соответственно что бы посмотреть номер человеку нужно зарегистрироваться или авторизоваться. номер скрыт от индексации. в моем случае это подходит
#4 19 декабря 2014 в 22:45
Tirpits, в шаблоне оборачиваете поле вывода телефона условием как сказал Нил
Для второй ветки будет как то так:
  1. <?php if (cmsUser::getInstance()->isLogged()) { ?>
  2. <span><?php $field['phone_number'] ?></span> <!-- понятно что тут должен быть ваш код -->
  3. <?php } ?>
#5 20 декабря 2014 в 06:10
Val, Здравствуйте! -Можно чуть поподробнее не совсем понял где ) для 2 ветки…
#6 22 декабря 2014 в 08:40
Я бы посоветовал сделать отдельный шаблон для контента где требуется закрыть номер. Например для объявлений сделаем копию ..\templates\default\content\default_item.tpl.php файла в эту же директорию и переименуем его в board_item.tpl.php
Теперь в новом файле можно вносить изменения, они коснуться только объявлений.

Открываем файл и видим, что вывод полей осуществляется с 20 по 51-ую строку:
  1. <?php foreach($fields as $name=>$field){ ?>
  2.  
  3. <?php if (!$field['is_in_item']) { continue; } ?>
  4. <?php if ($field['is_system']) { continue; } ?>
  5. <?php if (empty($item[$field['name']])) { continue; } ?>
  6. <?php if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { continue; } ?>
  7.  
  8. <?php
  9. if (!isset($field['options']['label_in_item'])) {
  10. $label_pos = 'none';
  11. } else {
  12. $label_pos = $field['options']['label_in_item'];
  13. }
  14. ?>
  15.  
  16. <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>">
  17.  
  18. <?php if ($label_pos != 'none'){ ?>
  19. <div class="title_<?php echo $label_pos; ?>"><?php html($field['title']); ?>: </div>
  20. <?php } ?>
  21.  
  22. <div class="value">
  23.  
  24. <?php
  25. echo $field['html'];
  26. ?>
  27.  
  28. </div>
  29.  
  30. </div>
  31.  
  32. <?php } ?>
… ну и как сказал Нил можно попробовать, например, обернуть 41-47 строки в условие для вывода:
  1. ...
  2. <?php if ($field['name'] == 'phone') { ?> <!-- здесь 'phone' это системное имя поля с телефоном -->
  3.  
  4. <?php if (cmsUser::getInstance()->isLogged()) { ?>
  5. <div class="value">
  6. <?php
  7. echo $field['html'];
  8. ?>
  9. </div>
  10. <?php } else { ?>
  11. <a href="<?php href_to('auth', 'login') ?>">Показать номер</a>
  12. <?php } ?>
  13.  
  14. <?php } else { ?>
  15. <div class="value">
  16. <?php
  17. echo $field['html'];
  18. ?>
  19. </div>
  20. <?php } ?>
  21.  
  22.  
  23. ...
#7 2 ноября 2015 в 12:43
У меня сделано так (спасибо Val)
  1. <div class="value" <?php if ($field['name'] == 'content'){ ?>id="boardcontent"<?php } ?>>
  2.  
  3. <!-- скрыть номер телефона-->
  4. <?php if ($field['name'] == 'phone') { ?> <!-- здесь 'phone' это системное имя поля с телефоном -->
  5.  
  6. <?php if (cmsUser::getInstance()->isLogged()) { ?>
  7. <div class="value">
  8. <?php
  9. echo $field['html'];
  10. ?>
  11. </div>
  12.  
  13. <?php } else { ?>
  14. <div class="">
  15. <a href="<?php echo href_to('auth', 'register') ?>">Показать (требуется регистрация)</a>
  16. </div>
  17. <?php } ?>
  18.  
  19. <?php } else { ?>
  20. <div class="value">
  21. <?php
  22. echo $field['html'];
  23. ?>
  24. </div>
  25. <?php } ?>
  26. <!-- скрыть номер телефона-->
  27.  
  28. </div>
если можете помогите еще как сделать чтобы еще прятало ссылку на сайт ( сделал поле для ссылки сайта)! не могу понять куда и как! спасибо.
#8 2 ноября 2015 в 14:09
есть же тип поля, гляньте в поиске а то я с телефона
#9 2 ноября 2015 в 14:14
В код напечатаный выше не могу понять как дополнительно вставить для поле site код… у меня не выходит… я в php полный ноль zst
#10 2 ноября 2015 в 16:07
Вроде как работатет но… правильно ли????
  1.  
  2. <div class="value" <?php if ($field['name'] == 'content'){ ?>id="boardcontent"<?php } ?>>
  3. <!-- скрыть номер телефона-->
  4. <?php if ($field['name'] == 'phone') { ?> <!-- здесь 'phone' это системное имя поля с телефоном -->
  5. <?php if (cmsUser::getInstance()->isLogged()) { ?>
  6. <div class="value">
  7. <?php
  8. echo $field['html'];
  9. ?>
  10. </div>
  11. <?php } else { ?>
  12. <div class="value">
  13. <a href="<?php echo href_to('auth', 'register') ?>">Показать (требуется регистрация)</a>
  14. </div>
  15. <?php } ?>
  16. <!-- скрыть ссылку на сайт-->
  17. <?php } else { ?>
  18. <?php if ($field['name'] == 'site') { ?><!-- скрыть ссылку на сайт-->
  19. <?php if (cmsUser::getInstance()->isLogged()) { ?>
  20. <div class="value">
  21. <?php
  22. echo $field['html'];
  23. ?>
  24. </div>
  25. <?php } else { ?>
  26. <div class="value">
  27. <a href="<?php echo href_to('auth', 'register') ?>">Посетить (требуется регистрация)</a>
  28. </div>
  29. <?php } ?>
  30.  
  31. <!-- ******* -->
  32. <?php } else { ?>
  33. <div class="value">
  34. <?php
  35. echo $field['html'];
  36. ?>
  37. </div>
  38. <!-- ********* -->
  39.  
  40. <?php } ?><!-- скрыть номер телефона-->
  41. <?php } ?><!-- скрыть ссылку на сайт-->
  42. <!-- ******** -->
  43. </div>
#12 2 ноября 2015 в 19:02
мне нужно 2 ,3 поля сделать и скрыть… там одно, только телефон, мне нужно и ссылку на сайт, да и скрываю не ради защиты,!!! и если можно в шаблоне подправить… зачем устанавливать лишний компонент да еще и платить!
#13 2 ноября 2015 в 19:08
Владимир, ну халява она такая, тем более я там смотрел по коду, сам правда не пробовал, но думаю не сложно сделать и несколько таких полей
#14 17 февраля 2017 в 09:21
Подскажите как реализовать, чтобы кидао не на регистрацию, а просто номер открывался по клику?

InstantCMS 2.7.1
#15 17 февраля 2017 в 10:27
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.