как сделать что бы кликнув в любое место контента открывалась запись контента?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 25 сентября 2024 в 21:25

Собственно хочу сделать что бы в списке при клике в любую область тк открывалась запись

с этого начинается тк <div class=«content_list_item <?php echo $ctype['name']; ?>_list_item clearfix»> что добавить можно?

Заранее спасибо

#2 25 сентября 2024 в 21:55

с этого начинается тк <div class=«content_list_item <?php echo $ctype['name']; ?>_list_item clearfix»> что добавить можно?

Happy
  1. onclick="goToEntry(<?php echo $ctype['url']; ?>);"

$ctype['url'] — ссылка на запись, возможно не урл, а как то по другому

В конце списка

  1. <script>
  2. function goToEntry(id){
  3. window.location.href = id;
  4. }
  5. </script>
Добавлено спустя 2 минуты

Или без java script просто обернуть див в <a href=«ссылка»></a>, но  в этом случае наверное стоит вычистить все ссылки внутри содержимого элемента списка.

#3 25 сентября 2024 в 22:02

 Нил™, $ctype['url'] — ссылка на запись, возможно не урл, а как то по другому

увы да, не подошло

#4 25 сентября 2024 в 22:05

 Нил™, $ctype['url'] — ссылка на запись, возможно не урл, а как то по другому

увы да, не подошло

Happy

в бд можно посмотреть, что там за ссылку отвечает в списке. target_link или seourl обычно как то так

или

<?php var_dump($ctype); ?>

#5 25 сентября 2024 в 22:12

Нил™, Не знаю может не туда вставляю ваши данные, мне бы просто полную строку  вместо <div class=«content_list_item <?php echo $ctype['name']; ?>_list_item clearfix»>

#6 25 сентября 2024 в 22:17

Возможно, я не правильно понял вопрос в первом посте. Я понял так, что вы хотите, что бы при клике в любом месте по элементу списка, который есть Заголовок + описание, открывалась запись. Для этого я предложил либо использовать java script добавив событие onclick и передав ссылку,  которую нужно открывать. Какая именно переменная отвечает за вывод ссылки, к сожалению не знаю, но очевидно, что она есть в том же шаблоне, где вы видите <div class=«content_list_item <?php echo $ctype['name']; ?>_list_item clearfix»>. Пример этого варианта: unila.ru/notes

Либо обернуть весь див в простую ссылку.

мне бы просто полную строку  вместо <div class=«content_list_item <?php echo $ctype['name']; ?>_list_item clearfix»>

Happy

а теперь не уверен, что понял вопрос правильно

#7 25 сентября 2024 в 22:26

Возможно, я не правильно понял вопрос в первом посте. Я понял так, что вы хотите, что бы при клике в любом месте по элементу списка, который есть Заголовок + описание, открывалась запись. Для этого я предложил либо использовать java script добавив событие onclick и передав ссылку,  которую нужно открывать. Какая именно переменная отвечает за вывод ссылки, к сожалению не знаю, но очевидно, что она есть в том же шаблоне, где вы видите <div class=«content_list_item <?php echo $ctype['name']; ?>_list_item clearfix»>. Пример этого варианта: unila.ru/notes

Либо обернуть весь див в простую ссылку.

мне бы просто полную строку  вместо <div class=«content_list_item <?php echo $ctype['name']; ?>_list_item clearfix»>

Happy

а теперь не уверен, что понял вопрос правильно

Нил™

Вы правильно поняли, вопрос в другом правильно ли я делаю)

Вот так правильно <div class=«content_list default_list <?php echo $ctype['name']; ?>_list mt-3 mt-lg-4» onclick=«goToEntry(<?php echo $ctype['url']; ?>);»>  ? 

если да, то в ошибку уходит, но кликается

#8 25 сентября 2024 в 22:38

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

  1. <div class="content_list default_list <?php echo $ctype['name']; ?>_list mt-3 mt-lg-4" onclick="goToEntry('<?php echo $ctype['url']; ?>');">

При этом

$ctype['url'] — надо заменить на то, что в вашем шаблоне отвечает за вывод ссылки на запись. В том шаблоне, где вы встретили <div class=«content_list_item <?php echo $ctype['name']; ?>_list_item clearfix»> разве нет её? Там же сейчас ссылка на запись как то оформлена. Можно весь <div посмотреть?

#9 25 сентября 2024 в 22:54

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

  1. <div class="content_list default_list <?php echo $ctype['name']; ?>_list mt-3 mt-lg-4" onclick="goToEntry('<?php echo $ctype['url']; ?>');">

При этом

$ctype['url'] — надо заменить на то, что в вашем шаблоне отвечает за вывод ссылки на запись. В том шаблоне, где вы встретили <div class=«content_list_item <?php echo $ctype['name']; ?>_list_item clearfix»> разве нет её? Там же сейчас ссылка на запись как то оформлена. Можно весь <div посмотреть?

Нил™
  1. <?php
  2. /**
  3. * Template Name: LANG_CP_LISTVIEW_STYLE_BASIC
  4. * Template Type: content
  5. */
  6. if($ctype['options']['list_show_filter']) {
  7. $this->renderAsset('ui/filter-panel', [
  8. 'css_prefix' => $ctype['name'],
  9. 'page_url' => $page_url,
  10. 'fields' => $fields,
  11. 'props_fields' => $props_fields,
  12. 'props' => $props,
  13. 'filters' => $filters,
  14. 'ext_hidden_params' => $ext_hidden_params,
  15. 'is_expanded' => $ctype['options']['list_expand_filter']
  16. ]);
  17. }
  18. ?>
  19.  
  20. <?php if (!$items){ ?>
  21. <p class="alert alert-info mt-4 alert-list-empty">
  22. <?php if(!empty($ctype['labels']['many'])){ ?>
  23. <?php echo sprintf(LANG_TARGET_LIST_EMPTY, $ctype['labels']['many']); ?>
  24. <?php } else { ?>
  25. <?php echo LANG_LIST_EMPTY; ?>
  26. <?php } ?>
  27. </p>
  28. <?php return; } ?>
  29.  
  30. <div class="content_list default_list <?php echo $ctype['name']; ?>_list mt-3 mt-lg-4">
  31.  
  32. <?php foreach($items as $item){ ?>
  33.  
  34. <div class="content_list_item <?php echo $ctype['name']; ?>_list_item clearfix">
  35. <div class="icms-content-fields">
  36. <?php foreach($item['fields'] as $field){ ?>
  37. <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?> <?php echo $fields[$field['name']]['options']['wrap_type']; ?>_field <?php echo $fields[$field['name']]['options']['wrap_style']; ?>" <?php if($fields[$field['name']]['options']['wrap_width']){ ?> style="width: <?php echo $fields[$field['name']]['options']['wrap_width']; ?>;"<?php } ?>>
  38.  
  39. <?php if ($field['label_pos'] !== 'none'){ ?>
  40. <div class="title_<?php echo $field['label_pos']; ?>">
  41. <?php echo string_replace_svg_icons($field['title']) . ($field['label_pos']==='left' ? ': ' : ''); ?>
  42. </div>
  43. <?php } ?>
  44.  
  45. <?php if ($field['name'] === 'title' && $ctype['options']['item_on']){ ?>
  46. <h3 class="value">
  47. <?php if (!empty($this->menus['list_actions_menu'])){ ?>
  48. <div class="dropdown ml-2 float-right">
  49. <button class="btn" type="button" data-toggle="dropdown">
  50. <?php html_svg_icon('solid', 'ellipsis-v'); ?>
  51. </button>
  52. <div class="dropdown-menu dropdown-menu-right">
  53. <?php foreach($this->menus['list_actions_menu'] as $menu){ ?>
  54. <a class="dropdown-item <?php echo isset($menu['options']['class']) ? $menu['options']['class'] : ''; ?>" href="<?php echo string_replace_keys_values($menu['url'], $item); ?>" title="<?php html($menu['title']); ?>">
  55. <?php echo $menu['title']; ?>
  56. </a>
  57. <?php } ?>
  58. </div>
  59. </div>
  60. <?php } ?>
  61. <?php if ($item['parent_id']){ ?>
  62. <a class="parent_title" href="<?php echo rel_to_href($item['parent_url']); ?>"><?php html($item['parent_title']); ?></a>
  63. &rarr;
  64. <?php } ?>
  65.  
  66. <?php if (!empty($item['is_private_item'])) { ?>
  67. <?php html($item[$field['name']]); ?>
  68. <span class="is_private text-secondary" title="<?php html($item['private_item_hint']); ?>">
  69. <?php html_svg_icon('solid', 'lock'); ?>
  70. </span>
  71. <?php } else { ?>
  72. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>">
  73. <?php html($item[$field['name']]); ?>
  74. </a>
  75. <?php if ($item['is_private']) { ?>
  76. <span class="is_private text-secondary" title="<?php echo LANG_PRIVACY_HINT; ?>">
  77. <?php html_svg_icon('solid', 'lock'); ?>
  78. </span>
  79. <?php } ?>
  80. <?php } ?>
  81. </h3>
  82. <?php } else { ?>
  83. <div class="value">
  84. <?php echo $field['html']; ?>
  85. </div>
  86. <?php } ?>
  87. </div>
  88. <?php } ?>
  89. </div>
  90.  
  91. <?php if (!empty($item['show_tags'])){ ?>
  92. <div class="tags_bar mt-3">
  93. <?php echo html_tags_bar($item['tags'], 'content-'.$ctype['name'], 'btn btn-outline-secondary btn-sm icms-btn-tag', ''); ?>
  94. </div>
  95. <?php } ?>
  96.  
  97. <?php if (!empty($item['info_bar'])){ ?>
  98. <div class="mobile-menu-wrapper mobile-menu-wrapper__info_bar">
  99. <div class="info_bar swipe-wrapper">
  100. <?php foreach($item['info_bar'] as $bar){ ?>
  101. <div class="bar_item swipe-item <?php echo !empty($bar['css']) ? $bar['css'] : ''; ?>" title="<?php html(!empty($bar['title']) ? $bar['title'] : ''); ?>">
  102. <?php if (!empty($bar['icon'])){ ?>
  103. <?php html_svg_icon('solid', $bar['icon']); ?>
  104. <?php } ?>
  105. <?php if (!empty($bar['href'])){ ?>
  106. <a class="stretched-link" href="<?php echo $bar['href']; ?>">
  107. <?php echo $bar['html']; ?>
  108. </a>
  109. <?php } else { ?>
  110. <?php echo $bar['html']; ?>
  111. <?php } ?>
  112. </div>
  113. <?php } ?>
  114. </div>
  115. </div>
  116. <?php } ?>
  117. </div>
  118. <?php } ?>
  119. </div>
  120. <?php echo html_pagebar($page, $perpage, $total, $page_url, $filter_query); ?>
  121. <script>
  122. function goToEntry(id){
  123. window.location.href = id;
  124. }
  125. </script>
#10 25 сентября 2024 в 23:05

Насколько я понял, основная ссылка на запись здесь выглядит так:

  1. <?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>
#11 25 сентября 2024 в 23:25

Насколько я понял, основная ссылка на запись здесь выглядит так:

  1. <?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>
Нил™

Не работает :(

#12 25 сентября 2024 в 23:52
  1. <div class="content_list_item <?php echo $ctype['name']; ?>_list_item clearfix" onclick="window.location.href = '<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>';">

как-то так должно быть

#13 26 сентября 2024 в 00:00

 Happy, если использовать вариант  Loadырь, это снизу 

  1. <script>
  2. function goToEntry(id){
  3. window.location.href = id;
  4. }
  5. </script>

не нужно вставлять, если что)

#14 26 сентября 2024 в 00:06

 Нил™, Спасибо за уделенное время,  Loadырь, Спасибо, все работает!

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