Attach Links

Автор Sp, 13 ноября 2016, 10:56:40

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Sp

Привет, уважаемые!

Мой вклад в сообщество www.simplemachines.ru.

Модификация Attach Links служит для обозначения ссылки вида


http://moy-forum.ru/index.php?action=dlattach;topic=6.0;attach=9;image

размещенной в теле сообщения, если просмотр и скачивание вложений запрещено гостям.
Обычно, на месте этой ссылки виден небольшой квадратик, который означает, что изображение отсутствует или ссылка битая.
Выглядит некрасиво и непрофессионально.
Чтобы всё выглядело правильно, нужно установить модификацию Attach Links.

шаг 1:
- в файле Modifications.russian-utf8.php добавляем:

// Просмотр изображений только для зарегистрированных пользователей
$txt['no_view_image'] = '<br /><i><i style="color:#fff;" class="i-rounded i-small icon-image"></i> (Здесь есть изображение, скрытое от гостей. Для просмотра ';
$txt['txt_reg_image_register'] = 'зарегистрируйтесь';
$txt['txt_reg_image_login'] = 'залогиньтесь)</i><br />';
$txt['txt_reg_image_or'] = 'или';

шаг 2:
- в файле Subs.php находим:

// Cache the output if it took some time...

над ним вставляем:

// Attach Links  я исправил, чтобы у новости были видны ссылки
if (($user_info['is_guest']))
{
$message = preg_replace('#<img src="(.*?)>#i', $txt['no_view_image'] . "\n" . ' <span class="hidden-link" data-link="' . $scripturl . '?action=register#navtab-reg">' . $txt['txt_reg_image_register'] . '</span>&nbsp;' . $txt['txt_reg_image_or'] . '&nbsp;<span class="hidden-link" data-link="' . $scripturl . '?action=login#navtab-login">' . $txt['txt_reg_image_login'] . '</span>', $message);
}
// End Registered Links

шаг 3:
- в файл .css добавляем:

span.hidden-link {
   color: #3EA98D; /*-цвет ссылки-*/
   text-decoration: none; /*underline-подчеркивание-*/
   cursor: pointer; /*-указатель в виде пальца-*/
}

шаг 4:
- в файле index.template.php находим:

</body></html>';

перед ним добавляем:

    <script>$(\'.hidden-link\').click(function(){window.open($(this).data(\'link\'));return false;});</script>

Всё, теперь будет как на скриншоте.

(подсмотрено у Registered Links  :)  )

Вам недоступны вложения в этом разделе.

Единственный момент, на который обратите внимание - это иконка <i style="color:#fff;" class="i-rounded i-small icon-image"></i>
Просто у вас может быть используются другой набор иконок и эта не будет выводиться. Просто замените на свою.

Для работы модификации необходим jQuery.

Sedoi

#1
и ни чего не появилось в постах с прикрепленными вложениями картинками.  wallbash

Ребят, кто нибудь подскажет что не так?

Sp

Цитата: Sedoi от 13 ноября 2016, 18:13:22и ни чего не появилось в постах с прикрепленными вложениями картинками.  wallbash

Ребят, кто нибудь подскажет что не так?

Attach Links - не для прикрепленных вложений, а для ссылок этих вложений, например картинок, которые часто размещают в теле сообщения, чтобы они были раскрыты, в полный размер,  в сообщении.

digger®

По моему, этот код просто рубит для гостей все картинки в сообщении - смайлы, изображения с внешних хостингов и прочее.
Если картинка была вставлена ссылкой на вложение, а гостям разрешен просмотр вложений - тоже рубит, все равно.
И ссылки на регистрацию почему напрямую не сделать, без выкрутаса на js, который еще и jquery требует, о чем не упомянуто.

Sp

#4
Цитата: digger® от 14 ноября 2016, 01:11:42По моему, этот код просто рубит для гостей все картинки в сообщении - смайлы, изображения с внешних хостингов и прочее.

Смайлы не будет рубить потому, что в ссылке смайлов нет знака ? который указан в условии замены ссылки. В коде же это видно.
Если изображения, с других хостингов имеют в ссылке знак ? тогда конечно будет рубить.
Если владелец форма хочет рубить картинки в сообщении, для гостей, то как раз эта модификация для него, а не для тех, кто хочет всё открыть.

Цитата: digger® от 14 ноября 2016, 01:11:42Если картинка была вставлена ссылкой на вложение, а гостям разрешен просмотр вложений - тоже рубит, все равно.

Вы правы. Ненужно устанавливать эту модификацию, если гостям всё открыто. Логично?
Эта модификация служит для того, чтобы гостям закрыть просмотр.

Цитата: digger® от 14 ноября 2016, 01:11:42И ссылки на регистрацию почему напрямую не сделать, без выкрутаса на js, который еще и jquery требует, о чем не упомянуто.

Ссылка через не через тег <a></a> - такие ссылки поисковые системы игнорируют, что нам и нужно. Зачем давать поисковикам мусорные ссылки для индексации?..
jQuery - наличие на сайте предполагается по умолчанию. Но действительно, нужно указать это в первом сообщении. Указал.


digger®

Цитата: Sp от 14 ноября 2016, 02:03:22Смайлы не будет рубить потому, что в ссылке смайлов не знака ? который указан в условии замены ссылки. В коде же это видно.
Если изображения, с других хостингов имеют в ссылке знак ? тогда конечно будет рубить.
Если владелец форма хочет рубить картинки в сообщении, для гостей, то как раз эта модификация для него, а не для тех, кто хочет всё открыть.

Вы правы. Ненужно устанавливать эту модификацию, если гостям всё открыто. Логично?
Эта модификация служит для того, чтобы гостям закрыть просмотр.
Это, по прежнему, просто рубилка картинок в сообщении. Можно так и написать в описании и не запутывать упоминанием вложений.

Цитата: Sp от 14 ноября 2016, 02:03:22Ссылка через не через тег <a></a> - такие ссылки поисковые системы игнорируют, что нам и нужно. Зачем давать поисковикам ненужные ссылки лоя индексации?..
Это уже seo-паранойя какая-то, никому не нужная. На форуме есть куча мест, где гостю покажет ссылки на вход и регистрацию, все их коверкать теперь что ли?

Sp

#6
Цитата: digger® от 14 ноября 2016, 02:33:01Это уже seo-паранойя какая-то, никому не нужная. На форуме есть куча мест, где гостю покажет ссылки на вход и регистрацию, все их коверкать теперь что ли?

Это нужно всем.
Просто не все об этом знают  :)

Если бы это было никому не нужно, тогда не придумали бы data-href.
То, что я предложил - лучше.

Ладно, я дал информацию, а каждый сам пусть решает, что с этим делать.

GeorG

Цитата: Sp от 14 ноября 2016, 02:03:22jQuery - наличие на сайте предполагается по умолчанию.
Это правдиво только для версии форума 2.1, версии ниже (в том числе актуальная 2.0.x), не имеют по умолчанию подключённую библиотеку jQuery.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

По статистике, более 60% посетителей сайтов приходят через мобильные устройства. Дальше -больше.
Если сайт не имеет адаптивного дизайна, тогда пользователь просто уходит.
Предполагается, по умолчанию, что сайт уже имеет адаптивный дизайн, и этот дизайн уже подключил jQuery.
А если сайт не имеет адаптивный дизайн, тогда можно не напрягаться.
Я вот тоже, сейчас делаю форуму адаптивный дизайн. Хочу я того или нет.
И по ходу, поделился свей наработкой.
Сегодня форум, внешне, должен выглядеть как соц-сеть, ну или очень похоже.
Никому не нужны всякие детали, масса кнопок, пояснений и т.д..
Всё должно быть просто и умещаться на ладони.
Задачка ещё та...

GeorG

#9
Цитата: Sp от 14 ноября 2016, 05:11:11Предполагается, по умолчанию, что сайт уже имеет адаптивный дизайн, и этот дизайн уже подключил jQuery.
Согласитесь что предполагать и располагать, это совершенно разные вещи, учитывая что большинство, вообще не знают что такое jQuery, и даже то что если они будут вызываться несколько раз в коде, разных версии и в разных местах, то работать тоже не будет.
Адаптивный, совсем не значит что использует дополнительные библиотеки, а тем более именно jQuery. Тем более как я уже писал, по умолчанию его нет на форуме, он подключается только дополнительно (как правило с модами). Потому дополнительные скрипты для работы кода, нужно обязательно указать в статье (что вы в принципе уже сделали, только бы это ещё выделить цветом, т.к, многие пропустят, и будут жаловаться на то, что не работает код) :)
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sedoi

А щастье было так близко ... теперь удалять все эти клочки.

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

GeorG

@Sedoi, специально для вложений есть моды. Например вот этот показывает миниатюры вместо вложений, чтобы посмотреть в полном разрешении, надо авторизоваться Guest Attachment Preview
Или вот No Download Attachment
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sedoi

GeorG спасибо ! Посмотрю, может это и есть выход ...

P.S.  первый хорош, можно бы еще уменьшить миниатюры, открыть для гостей просмотр вложений .... Но он не для второй линейки

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

sgtWhite

Цитата: Sp от 14 ноября 2016, 05:11:11Сегодня форум, внешне, должен выглядеть как соц-сеть, ну или очень похоже.

Можно взглянуть что там у вас ?

Yarik

#14
Цитата: Sedoi от 14 ноября 2016, 10:27:08P.S.  первый хорош, можно бы еще уменьшить миниатюры, открыть для гостей просмотр вложений .... Но он не для второй линейки
Та ну.Только что на 2.1 УСТАНОВКА В РЕЖИМЕ ЭМУЛЯЦИИ: 2.0RC1.2 и работает....
Однако если немного приложить смекалки то вложения скачиваются без проблем.

Sedoi

GeorG, в режиме эмуляции мод Guest Attachment Preview установил. Были сначала ошибки, добавил в языковой файл перевод из поста 0daliska . Пока ошибок нет. Все работает. Еще раз спасибо.

GeorG

Цитата: Sedoi от 14 ноября 2016, 10:27:08можно бы еще уменьшить миниатюры
В админке, свойства вложений, там указывается размер эскизов.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sedoi

Уменьшил до 100 пикс, было 150. Теперь пусть смотрят и гости и боты  O0  Ну а разглядеть тонкости через регистрацию.

digger®

Цитата: Sedoi от 14 ноября 2016, 12:25:25GeorG, в режиме эмуляции мод Guest Attachment Preview установил. Были сначала ошибки, добавил в языковой файл перевод из поста 0daliska.
Можно ссылку на перевод?

Sedoi


Sp

Цитата: GeorG от 14 ноября 2016, 05:19:38Согласитесь что предполагать и располагать, это совершенно разные вещи

Согласен, виноват, исправлюсь.  :)

Ладно ребята, что вы так строго?
Я просто хотел поддержать ваш форум, контента добавить.
Вы мне помогаете, я вам, как могу.