Актульнаый релиз „DataLife Engine 19.0 Final“ buildid 109

подробнее о релизе

Главная страница / DataLife Engine / Скрипты и другая информация / Замена всех ссылок (внешних и внутренних) в Quote полной новости

Замена всех ссылок (внешних и внутренних) в Quote полной новости

23 декабря 2025 | 14:18 | Вторник
20
0
[ Рейтинг: 0 / Голосов: 0 ]
Замена всех ссылок (внешних и внутренних) в Quote полной новости

Продолжаю работу над одним сайтом… Сейчас столкнулся с проблемой, что в некоторые материалы добавлено ОООчень много ссылок на файловые обменники, что в плане SEO негативно влияет на ранжирование страницы в целом. Чтоб исправить ситуацию, я решил все ссылки такие перевести в псевдо ссылки, но естественно, что способ добавления материалов не изменить — остаются снова только регулярки. Чтоб не обрабатывать регуляркой весь контент страницы через main.php, лучше ограничиться только полем самой полной новости.

Итак, правка будет только в файле engine/modules/show.full.php. Нужно найти $tpl->set( '{full-story}', $row['full_story'] ); и выше добавить:

⚠️ Войдите в аккаунт для доступа к контенту

Функция работает так:

<!-- БЫЛО: -->
<a href="https://site.com" target="_blank" rel="noopener">
  <img src="image.png" alt="картинка"> Текст...
</a>

<!-- СТАЛО: -->
<span data-extlink="https://site.com">
  <img src="image.png" alt="картинка"> Текст...
</span>

Так же нужно обновить CSS и JS файлы шаблона добавив строки:

/* pseudo-link */
[data-extlink] {
    color: #000;
    cursor: pointer;
    text-decoration: underline;
    padding: 1px 3px;
    border-radius: 3px;
    transition: all 0.2s;
    display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;
}
[data-extlink]:hover {
    text-decoration: none;
}
jQuery(document).ready(function($) {
  // Псевдо-ссылки
  // Внутренние
  $('body').on('click', '[data-innerlink]', function() {
  window.location.href = ($(this).data('innerlink'));
  });
  // Внешние
  $('body').on('click', '[data-extlink]', function() {
  window.open($(this).data('extlink'));
  });
});

После этого на сайте не будет больше внешних и внутренних ссылок в теге цитат quote.

PS данную правку нужно делать через плагины в DLE.

Комментарии:
ℹ️
 
Модули для создания киносайта и не только на базе DataLife Engine, и многое другое...
Просто блог Евгения Попова, он же - byroot © 2015-2025 | Карта сайта