Ночью безлунной
Укусил меня прогер
Теперь мой черёд...
У великих спортсменов и всяких статусных людей, на примерах из жизни которых раньше воспитывали молодёжь, принято уходить на пике славы. Что понятно- одно дело остаться в памяти людей d’Артаньяном, и совсем другое- побитой собакой.
У настоящих самураев концепция харакири в тютельку про то же.
Не мудрствуя лукаво, воспользуемся этой мудростью предков.
А замыкать на ключик мы сегодня будем тему о Хитрых Конторах. Чтоб больше нигде и никогда про них не говорить, не поминать всуе, и вообще не допускать у окружающих мысли, что знаем о таких. И, естественно, сделаем это подлое дело в стиле d’Артаньяна- красиво внешне и эффектно по убийственности этой красоты.
Только сначала вспомним другую мантру, про «нет Бога, кроме Аллаха». В том смысле, что нам наплевать с высокой колокольни на все-все Хитрые Конторы, вместе взятые. Кроме одной, одобренной Мухаммедом.
Только давайте также договоримся, что являть миру мы будем произведение искусства, оснащённое интеллектом, а потому PHP-шное до мозга костей. Кто в сих премудростях не разумеет, тому суждено плакать обречённо, и сожалеть о своей woodenhead…
Для начала сформируем задачу.
Давайте явим миру такой непростой код для Хитрой Конторы, который смог бы:
- Показывать на страничках сайта не унылые ссылки, от которых за версту несёт продажностью, а превьюшки морд сайтов с подписью и надписью, в узкой среде понимающих в том людей зовущихся «гламурными ссылками».
Мастер Ласто даже имел весёлый случай, когда гендиректор какой-то дизайн-сео-студии из незалежной, стуча ботинком по трибуне и грозясь показать кузькину мать, выкатил целую абузу с соплями и матерками, приняв одну такую гламурную ссылку на состряпанный его конторой сайт, за элемент портфолио Мастера Ласто :)
Что, однако, может просто свидетельствовать о степени (не)компетентности руководителей SEO-контор. Тогда мне искренне жаль их бедных клиентов…
Без сомнения, Ваша жизнь также достойна подобных весёлых моментов – дайте им счастливый шанс войти в Ваше бытие.
- Будет очень неплохо, если гламурные ссылки не просто зависнут в определённых местах страничек сайта, как прибитые туда гвоздями, а проявят в этом вопросе гибкость. Я бы даже сказал, лабильность.
Например, когда для данной странички нет кандидатов в гламурные ссылки, в, скажем, боковой менюшке выводится нечто иное, например, блок АдСенса. Как продажная ссылка появится, вместо набившего всем оскомину АдСенса рисуется весёлая гламурная ссылка, либо несколько рядышком или по вертикали.
То есть способность к подмене собой каких-то иных блоков должна присутствовать.
- Будет очень здорово, когда при накоплении на страничке нескольких гламурных ссылок они смогут объединяться в блоки определённой размерности.
К примеру, дизайн Вашего сайта позволяет вывести в ряд по горизонтали три картинки такого-то размера, которые очень органично воткнутся в колонку с контентом в определённом месте.
Но получится форменная порнография, если в туда же вывести одну, либо две картинки- блок гламурных ссылок в этом случае и в этом месте вообще не должен возникать, а сами гламурные ссылки обязаны сыскать себе должность в других закоулках данной странички. Примкнув к каким-то другим блокам.
- Вы сами должны задавать, где какой блок может появиться, сколько там допускается ссылок максимально (или точно, скажем, ровно три штуки, как в примере выше), какой кусок другого кода каждый конкретный блок может собой заместить, какими тегами себя окаймить...
Естественно, что и число таких блоков также должно быть произвольным- как Вы пожелаете.
- Любой из блоков гламурных ссылок должен быть способен принимать собственное оформление входящих в него элементов. Что понятно- в горизонтальном блоке могут быть одни пропорции, в вертикальном- совсем другие пропорции и своя цветовая гамма, а у таких же блоков в другом месте страницы всё будет кардинально не так…
- Не забываем о такой штуке, как продажа ссылок с контента, когда любое слово текста сайта способно стать ссылкой на внешний ресурс, за что Вам положена денежка.
- Ну и про продажу статей тоже помним- наш непобедимый код должен уметь сотворять на любой страничке сайта в специально отведённом месте ссылки на внутренние документы этого движка, каковые и будут теми самыми статями, с которых уже стоят ссылки наружу. В обмен на кусок гешефта, ясное дело.
В качестве движка мы выберем, естественно, ЛастоБлог, каковой, в период увлечения местного автора Хитрыми Конторами годика два назад, позволял развернуть на хосте сайт, и автонаполнить его контентом с картинками, минут всего за несколько.
Далее следует инструкция, как это всё делается практически.
- Перво-наперво качаете вот этот архив:
SapoEnder.zip
Там есть готовая папка с воспроизведением файловой структуры ЛастоБлога, и Вам должно быть понятно, куда эта папка должна упасть по ФТП. Кидаете её туда, не заморачиваясь модами загрузки, но ставя права на запись (обычно три счастливых семёрки) папке sape.
Стоит отметить, что на момент публикации клиентский код Хитрой Конторы, которым оснащён данный архив, в одном месте немного капризничает, и стоит строку
error_reporting(E_ALL);
в файле settings.php заменить на
error_reporting(0);
- Если Вы думаете, что местный автор злыдень и нехорошее затеял, то бредёте в свой аккаунт Сапы, на вкладку «статьи», и по кнопке «добавить площадку» берёте zip-архив, из которого Вам нужен только файл sape.php – замените этим своим родным файлом тот, что выдан мной.
При этом не лопухнитесь- в Вашем аккаунте две вкладки (есть ещё «ссылки»), причём в каждой из них свой архив со своим файлом клиентского кода, и они, файлы клиентского кода, разного размера. Вам нужен тот, что большой и толстый, то есть сорокасантиметровый.
Если Вы таки не думаете, что местный автор идиот, то данный пункт инструкции за номером два пропускаете, как попахивающий шизофренией.
- Далее в папке tpl на сервере нужно сыскать фолдер активного дизайна, а в нём- файл шаблона дизайна design.php
Пока не будет сказано, что мы берём в руки другой файл, значит, работа идёт только с указанным.
Если в него уже интегрирован код Сапы, либо это сделано где-нибудь в файле сеттингов, выкиньте все эти ранешные художества нафиг. Будем городить новые.
- Сразу после первой же строчки <?php в design.php добавьте такой кусок кода (перед строками кода условно имеется нумерация, которую не следует переносить в файл) - да простят меня почитатели ВордПресса, что я нагло стянул у них плагин WP-Syntax для построения нижеследующей икебаны:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| global $sape,$add,$echo,$articles,$special;
$sape=$articles='<!-- start --><!-- end -->';
if (isset($special) and $special==true) {
$meta='
<meta name="keywords" content="{keywords}">
<meta name="description" content="{description}">
';
} else {
require ('./data/paid_links/plugin_glamour_links.php');
get_glamour_links(
array(
array(
3,
true,
'sape',
'<!-- start -->','<!-- end -->',
'<br><center>','</center><br>',
3,
520,
'vertical'
),
array(
4,
false,
'add',
'<!-- start -->','<!-- end -->',
'<!-- begin -->','<!-- finita -->',
1,
170,
'vertical'
),
),
'echo',
'2435fe2c76b58ea1ea29f92a0fd7e540',
'<li>',
25,
'articles'
);
$meta=='';
if (stristr($articles,' href='))
$articles='<ul><li>'.$articles.'</ul>';
} |
- Важные замечания к коду с такими номерами строк:
- Чтоб их не забыть, делаем все переменные, с которыми работаем, глобальными.
- Задаём изначально пустые переменные.
Комментарии старта и энда служат маркерами.
Внутри комментариев может быть произвольный HTML код.
Слева и справа от маркеров также может быть произвольный код.
- Если объявлена специальная переменная, формируем метатеги.
Номинально никаких метатегов движок Блога не использует.
Наличие специальной переменной характерно при формировании статей.
- В противном случае (движок формирует не статьи, а работает именно блогом) подключаем модуль гламурных ссылок.
- Запуск функции, имеющей шесть аргументов:
- Первый аргумент- массив.
- Он содержит произвольное число правил для формирования блоков гламурных ссылок.
Причём, обратите внимание, ссылки передаются сначала в самый первый блок, не использованные им- во второй, и так далее.
Каждое правило- это опять-таки массив из десяти значений.
- Число гламурных ссылок в этом блоке. Единица или больше.
- Признак полной заполняемости этого блока:
false - частичная заполняемость; в блоке может быть от 1 до оговоренного предыдущим пунктом числа гламурных ссылок (в данном случае трёх), при этом блок отображается.
true - в блок выводится строго указанное предыдущим пунктом число ссылок (три). Причём, если на странице физически нет трёх ссылок, и поэтому блок не может быть полностью заполнен, то он не отображается вообще, а все ссылки уходят в другие блоки, правила для которых сформированы далее.
Следствие 1.
Правила для полностью заполняемых блоков должны прописываться выше.
Следствие 2.
При наличии правила с полностью заполняемым блоком вместимостью N гламурных ссылок Вам необходимо иметь одно или несколько правил с частично заполняемыми блоками, общей вместимостью N-1 ссылок. Иначе ссылки будут уходить в эррор.
- Имя переменной, в которую выведется код блока.
Эта переменная должна стать глобальной в строке 1.
Также к этому времени она обязана существовать.
Если её нет- создайте (как в строке 3).
- Пара маркеров, ограничивающих HTML код, который будет замещён кодом блока.
Сами маркеры при этом изымаются.
- Фрагменты HTML кода, размещаемые соответственно до и после вставляемого кода блока. Фактически эти фрагменты замещают собой маркеры.
- Число гламурных ссылок, выводимых в блок по горизонтали.
Для вертикального блока это всегда единица.
Для горизонтального блока либо равно указанному в строке 15 числу, либо кратно меньше его.
Например, если в строке 15 указать шестёрку, а тут тройку, то ссылки будут выводиться в две строки.
- Сколько пикселей по горизонтали занимает блок.
- Идентификатор css стилей, описывающий элементы данного блока.
- Ещё одно правило.
Видно, что это вертикальный блок, частичной заполненности, вместимостью от 1 до 4 ссылок, работает с переменной $add, выискивая в ней код, окаймлённый комментариями старт и энд, и заменяя его кодом блока, но не центрируя сам блок, как в предыдущем случае, а просто окаймляя комментариями бегин и финита, на место которых, естественно, Вы можете написать какие угодно операторы.
- Второй аргумент функции- имя переменной, в которой размещаются ссылки с контента. В данном движке это переменная $echo - тут она и записана без признака переменной (в кавычках и без знака доллара);
- Идентификатор аккаунта в Хитрой Конторе.
Это те самые 32 символа, которыми обозвана папка с клиентским кодом биржи, выдаваемая в зипе в аккаунте.
- Разделитель ссылок.
Как для вкладки "ссылки", так и для вкладки "статьи" аккаунта.
- Максимальная длина доменного имени или слова с текста ссылки.
Лимит нужен, ибо иначе таблица уширится и поломает дизайн.
Неправильная ссылка уходит в эррор.
- Имя переменной, в которую выводятся ссылки на статьи.
- Изготовляем пустую переменную метатегов.
- Если переменная со ссылками на статьи не пустая, окаймляем её тегами ненумерованного списка.
- Поскольку мы создали несколько новых переменных, надо их употребить в шаблоне дизайна.
- $meta - пропишите её в head секции шаблона.
Например, тут:
<head>
<title>$title</title>
$meta
При этом понимайте, что в файле дизайна пхп может быть прописано несколько разных шаблонов, и Вам нужно интегрировать переменную метатега в каждый из них, либо строго в тот, который активирован настройками админки.
- $articles - переменная со ссылками на статьи.
Употребите её сразу после переменной $echo в активном шаблоне дизайна.
Либо в другом, более уместном месте шаблона.
- $sape и другие переменные с кодом блоков гламурных ссылок - опять-таки, ничего оригинального- расставляем эти переменные в нужные места активного шаблона дизайна.
При этом обратите внимание, что переменная $add уже упомянута в шаблоне, и её туда дописывать ещё раз не нужно.
- Закрываем файл design.php - мы над ним поизощрялись, как только могли, и нам осталось только поставить маркеры в файле $add.php, лежащем в той же папочке, что и файл дизайна.
- Лезем в файл с вертикальными рекламными блоками, и заключаем, например, код АдСенса, внутрь обозначенных правилами комментариев <!-- start --> и <!-- end --> , предварительно убив все комментарии внутри JavaScript самого АдСенса, чтобы не получить неправильную вложенность тегов.
Только обратите внимание, что там оговорены несколько рекламных блоков, выводимых на разных типах страниц- естественно, маркеры нужно включить в каждый из них, чтобы не получить на отдельных типах урлов выпадение ссылок в эрроры.
Пример (интересны строки 16, 38 и 59):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| # Блок для морды сайта и страниц скролла.
if (in_array(
$action,
array("index","explorer","page"))
) $add=<<<morda
<div class="shadow">
<div class="shadow_box">
<ul class="nav">
<li class="nolink">Вебмастеру:</li>
<li><a href="#"><em></em>Ссылка раз </a></li>
<li><a href="#"><em></em>Ссылка два </a></li>
$add
</ul>
<!-- start --><!-- end -->
</div>
</div>
morda;
# Блок для прочих страниц сайта сайта:
else $add=<<<nomorda
<div class="shadow">
<div class="shadow_box">
<ul class="nav">
<li class="nolink">Вебмастеру:</li>
<li><a href="#"><em></em>Ссылка раз </a></li>
<li><a href="#"><em></em>Ссылка два </a></li>
$add
</ul>
</div>
</div>
<div class="shadow">
<div class="shadow_box">
<!-- start -->
<div class="reklams_160">
<script type="text/javascript">
google_ad_client = "pub-8500050406042686";
google_alternate_color = "ffffff";
google_ad_width = 160;
google_ad_height = 600;
google_ad_format = "160x600_as";
google_ad_type = "text";
google_ad_channel = "2903910378";
google_color_border = "ffffff";
google_color_bg = "ffffff";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
google_ui_features = "rc:0";
</script>
<script type="text/javascript" src=
"http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<!-- end -->
</div>
</div>
nomorda; |
- Ну и пропишите в css файл стилей активного дизайна содержимое нижеследующей распечатки, выдуманное великим Мастером Горди, к чему даже как-то страшно прикасаться:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
| #vertical {
border:0px;
margin:10px auto;
padding:0;
width:170px;
}
#vertical td {
vertical-align:top;
padding:2px;
border:0px;
}
#vertical small {
clear:both;
float:left;
margin:3px;
text-align:left;
color:#454545;
font:bold 12px arial,georgia,helvetica,sans-serif;
}
#vertical img {
clear:both;
border-top:1px silver solid;
border-left:1px silver solid;
border-right:1px #555 solid;
border-bottom:1px #555 solid;
float:left;
margin:0;
width:170px;
height:128px;
}
#vertical p {
clear:both;
font:11px verdana;
color:#555;
font-weight:normal;
padding:5px 0;
margin:1px;
text-align:left;
text-indent:0px;
}
#vertical p a {
font:11px verdana;
color:blue;
font-weight:normal;
}
#vertical p a:hover {
color:red;
}
#vertical p:first-letter {
text-transform:capitalize;
}
#vertical p.points:first-letter {
color:#EBFCFF;
} |
- Понятно, что Ваш страх перед великими может оказаться меньше моего, и тогда Вы разукрасите свою гламурную ссылку как угодно, трогая только вот эти стили.
Только обратите внимание, что тут употреблён именно тот id, что указан в строках 22 и 32 PHP кода из первой распечатки. Если Вам необходимо несколько разных по виду типов блоков, наклепайте по аналогии ещё стилей, и пропишите имена их id в соответствующие правила.
В принципе, то, что мы сейчас сделали, есть постановка движка ЛастоБлога под традиционный сервис Сапы (обычные продажные ссылки плюс ссылки с текста), но продажные ссылки оформляются в виде кликабельных весёлых картинок, с кликабельными же текстовыми ссылками под ними, с именем домена над, с группировкой в вертикальные и горизонтальные блоки произвольной размерности, и скитанием гламурных ссылок по разным местам страничек при вариабельности их числа на этих самых страничках.
Как только Вы выпьете три полулитры (на меньшее и не надейтесь), и разберётесь, как же это всё работает, так обретёте полное счастье, ибо круче кода и гламурнее ссылок больше ни у кого в Раше нет.
Далее нам надо прикрутить сервис продажи статей.
И вот это уже совсем просто.
- Создайте в папке php_pages файл verdict.php
Он у нас будет отвечать за формирование статей.
Код до безобразия прост:
1
2
3
4
5
6
7
8
9
| <?php
define('_SAPE_USER','2435fe2c76b58ea1ea29f92a0fd7e540');
require_once("./data/paid_links/sape/sape.php");
$sape_articles=new SAPE_articles();
echo $sape_articles->process_request();
die;
?> |
- В третьей строке данного кода употребите свой идентификатор аккаунта в Хитрой Конторе, то есть в тютельку то, что указано в 36 строке самой первой распечатки.
Ни о чём больше думать тут не надо.
- В той же папке php_pages сделайте файл verdict-template.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <?php
global $special,$title,$echo;
$special=true;
$title=' {title} ';
$echo=<<<template
<h1 class="panel"> {header} </h1>
<br>
{body}
template;
?> |
- В нём определена специальная переменная, которая указывает движку, что он работает со статьёй, а потому в качестве тайтла страницы, заголовка и контента нужно подставить макросы в фигурных скобках, как раз здесь указанные, а также снабдить этот документ метатегами, тоже оснащёнными макросами.
При копировании кода уберите пробелы в 14 строке перед template;
- Из логики работы движка ЛастоБлога следует, что имя файла verdict станет элементом урла, и, вообще-то говоря, Вам может и не понравиться.
Никаких проблем- в 9 и 11 пункте настоящей инструкции можете вместо "вердикта" употребить любое другое слово, более, на Ваш взгляд, кошерное.
Только воздержитесь от всяких там "article" и тому подобного- нефиг тем самым светить суть и смысл этих документов, а также их не дворянское происхождение :)
- После того, как файлы созданы, и обращение к самому последнему из них браузером (по адресу морда блога/verdict-template.html) предъявит на экран годный шаблон статьи в дизайне блога, можно идти в Хитрую Контору, жать на вкладку статей, и прописывать свою площадку.
При этом понимайте, что Вам не нужно создавать никаких папок в корне домена или скрипта, класть в них какие-то файлы, строгать всякие шаблоны, и заниматься прочей ересью.
Вся ересь уже сделана.
На этапе предъявления Хитрой Конторе шаблона статей Вы приводите урл документа морда блога/verdict-template.html, а при указании шаблона УРЛов ничего не пишите в .htaccess файле блога (вот не надо в него лезть), а шаблоном указываете любую из комбинаций:
- /verdict_{date_y}-{date_m}-{date_d}-{id}.html
- /verdict_{date_m}-{date_d}-{id}.html
- /verdict_{date_d}-{id}.html
- /verdict_{id}.html
Либо какую-то свою, помня, что:
- Выделенное красным обязательно.
- Если Вы заменили в именах файлов вердикт чем-то своим, пишите своё.
- Всё не красное тут для рандомизации.
- Макросы Хитрой конторы можно перемешивать, но не взбалтывать.
- Разделитель макросов- только дефис.
Никаких подчерков, слэшей и точек в качестве разделителей применять нельзя.
То есть такие варианты вполне возможны:
- /verdict_{id}-go-to-here.html
- /verdict_{date_d}-{id}-{date_m}.html
- /verdict_letter-number-{id}.html
и так далее.
Ну и по окончании сей монструозной инструкции, знаменующей собой всю нелёгкость вебмастерской доли, на остатке слабеющих сил, хочется молвить тезисно и кратко ряд самоочевидных постулатов, чья непоколебимость железобетонна, и даже не обсуждается:
- Пользуясь решением на тысячу баксов, доставшемся Вам абсолютно даром, будьте уверены, что там нет ничего нерабочего, потому как решения за тысячу баксов нерабочими не бывают.
Имеете где какой косяк- это Ваш личный косяк.
- Если Ваш самолично произведённый на свет косяк Вас же таки и победил, не надо стучаться к Мастеру Ласто с просьбами подобрать правильную катану, чтобы одолеть косяка.
У Мастера Ласто до хрена своих дел, и он точно не станет считать Ваши дела своими. Ибо бесплатные решения, тщательно опробованные на себе перед выкладыванием в паблик, саппортом не обеспечиваются. Что как бы должно быть понятно и без особого уведомления.
- Также не нужно требовать подобных решений для других Хитрых Контор.
Если у Вас нет на это тысячи баксов :)
- Заселение ссылок в Ваш сайт, осуществлённое по любой технологии, даже самой гламурной, брутальной и харизматичной, налагает на Вас ответственность за тех, кого приручили.
Не понравится этот весёлый зоопарк зловредному Яндексу, забанит он Ваш сайт- Мастер Ласто в том ни капли не виноват.