Социальные обременения

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

HACKERMAN

Изначальная проблема была в том, что при репосте в твиттор и куда-то ещё ссылка передавалась как есть, а с кириллическими путями это получалось криво, т.е. твиттэр не жрёт ссылки вида http://modicine.ru/нате/мнение, делая из них битые http://modicine.ruнате/&nbspмнение. Грустно, пришлось исправлять; сам плагин воспитать не удалось, поэтому я пошёл за помощью на любимый share42.com и напихал туда пару невообразимых костылей, но зато своими руками без кредитов.

Короч:

  1.  По пути modicine.ru/templates/shablon/layouts/article.php впихнут код расшаривания на все статьи вообще + ссылка на яваскрипт + код, преобразующий ссылки в машино(!)-понятные УРЛы;
  2. Выглядит сие бесовское отродье так:
    <div class="share42init" 
        data-url="http://
            <?php 
                $encodedurl2 = implode("/", array_map("rawurlencode", explode("/", str_replace("http://", "", $permalink)))); 
                echo $encodedurl2; 
            ?>"
        data-title="<?php echo $title; ?>" 
        data-image="<?php echo $image; ?>"
        //data-description="<?php $SukaNeRabotaet; ?>">  
        //description не подхватывается никак, скотина( Даже если выковыривать другими функциями-костылями (типа setMetaData str_replace и прочим substr); а если указывать $article, $text или что-либо ещё, то съезжает вёрстка всей страницы вообще. 
    </div>
  3. rawurlencode преобразует строку в стандартный URL без кириллицы, сжирая при этом и слэши (хреново — ссылки бьются ещё сильнее, чем в начале), поэтому к нему добавлены implode("/" и explode("/", фиксящие это, а так же следующий пункт; 
  4. Переменная $permalink в шаблоне задана как полный адрес статьи, поэтому приходится вырезать оттуда 'http://' опять же чтоб оно не гадилось rawurlencode;
  5. Поскольку http:// мы убрали из кодированного УРЛа, то пришлось его впихнуть до всей конструкции, лол;
  6. На выходе $encodedurl2 даёт (например) из http://modicine.ru/нате/мнение сие: http://modicine.ru/%D0%BD%D0%B0%D1%82%D0%B5/%D0%BC%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5

Твитлеру и остальным машинам нраица!

CSS нах не впёрся, и так красиво (результат внизу статьи под кнопкой «Дальше/Скрыть»).

Чисто теоретически я понимаю, что эту хреноту можно просто инъецировать в плагин JLlike, но на практике все мои действия с ним приводят к ошибке 500, поэтому он меня очень сильно злит. Share42 куда круче, задонатил бы ему миллион (пока только пару сотен).

Если вдруг есть мысль как заставить подхватывать description, то пишите, буду сильно благодарен.

 

UPD 20.01.2016

Я наконец-то понял как вообще надо обращаться с джумлой и всё перепилил: теперь тот же самый код живёт и работает как модуль (причём без описанных изворотов с data-url). Как всё оказалось просто.

Комментарии  

# Вонючка 04.02.2016 17:51
Ссылки из вики нихера не пашут.

Например тут http://encyclopatia.ru/wiki/%D0%A0%D0%A1%D0%9F

есть ссылка на
http://modicine.ru/promo/%D0%B8%D0%B4%D0%B8_%D0%B2_%D0%B0%D0%BF%D1%82%D0%B5%D0%BA%D1%83

которая даёть 404
Ответить | Ответить с цитатой | Цитировать
# Никита 08.02.2016 23:00
Да, ссылка побилась, исправил. Спасибо!
Ответить | Ответить с цитатой | Цитировать
# Sal 20.12.2017 17:11
Good post and right to the point. I am not sure if
this is in fact the best place to ask but do you guys have any ideea
where to hire some professional writers? Thanks :)

Feel free to surf to my web blog ... trading currencies: http://peakstaff.pl/
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий