Категории
[FAQ] Часто задаваемые вопросы и ответы
Проблемы и решения
Ошибки и исправления
Общие вопросы
Расширения
Установка и обновление
Модули
Шаблоны
Локализация интерфейса
Коммерческие предложения
Учимся бизнесу
Бизнес книги
Поисковая оптимизация (SEO)
Магазины на ShopOS
Хостинг для ShopOS
Предложения и пожелания
Курилка
|
Евгений, вопрос к вам!
Сейчас очень популярно раскручивать сайт статьями, для чего на многих сервисах предлагают встроить код каталога в свою CMS. Как это сделать на Shopos. Спасибо.
так покажите код, который нужно встроить
Я так понимаю, что во этот код
<?php
class seozavr { var $version = '29'; var $password = 'ea1447471cfec27c4d96facc6bc88329'; var $encoding = 'windows-1251'; var $affiliateLink = '<a href="http://www.seozavr.ru/index.php?id=37485">Êàòàëîã ñòàòåé íà âàøåì ñàéòå</a>'; var $catalogURL = ''; var $catalogTitle = 'Ýòî èíòåðåñíî'; var $emptyCatalogTitle = 'Ïîäáîðêà ñòàòåé'; var $enableAffiliateLink = true; var $leaveDeletedArticles = true; var $title = ''; var $description = ''; var $keywords = '';
function setHeadParams() { if ($articles = @file_get_contents(dirname(__FILE__) . "/db.txt")) { if (($articles = @unserialize($articles)) && count($articles) > 0 && $articles['expire'] >= time()) { $code = isset($articles['code']) ? $articles['code'] : 'articleId'; if (isset($_GET) && array_key_exists($_GET, $articles)) { $this->title = $articles]['articleTitle']; if (isset($articles]['articleDescription']) && !empty($articles]['articleDescription'])) $this->description = $articles]['articleDescription']; if (isset($articles]['articleKeywords']) && !empty($articles]['articleKeywords'])) $this->keywords = $articles]['articleKeywords']; } elseif (!isset($_GET)) { foreach ($articles as $articleId => $article) if (is_numeric($articleId) && !empty($article['articleThemeName'])) $articleThemes[] = $article['articleThemeName']; if (isset($articleThemes) && is_array($articleThemes)) $articleThemes = @array_unique($articleThemes); if (isset($articleThemes) && is_array($articleThemes)) $this->title = str_replace('{$themes}', implode(', ', $articleThemes), $this->catalogTitle); } } } if (empty($this->title)) $this->title = $this->emptyCatalogTitle; }
function getHead() { if (empty($this->title)) $this->setHeadParams(); $content = ''; $content .= "<title>{$this->title}</title>\n"; if (!empty($this->description)) $content .= "<meta name=\"description\" content=\"{$this->description}\" />\n"; if (!empty($this->keywords)) $content .= "<meta name=\"keywords\" content=\"{$this->keywords}\" />\n"; if ($this->encoding == 'windows-1251') return $content; else return iconv('windows-1251', $this->encoding, $content); }
function getTitle() { if (empty($this->title)) $this->setHeadParams(); if ($this->encoding == 'windows-1251') return $this->title; else return iconv('windows-1251', $this->encoding, $this->title); }
function getKeywords() { if (empty($this->title)) $this->setHeadParams(); if ($this->encoding == 'windows-1251') return $this->keywords; else return iconv('windows-1251', $this->encoding, $this->keywords); }
function getDescription() { if (empty($this->title)) $this->setHeadParams(); if ($this->encoding == 'windows-1251') return $this->description; else return iconv('windows-1251', $this->encoding, $this->description); }
function showHead() { echo $this->getHead(); }
function getBody() { $content = ''; $code = 'articleId'; if ($articles = @file_get_contents(dirname(__FILE__) . "/db.txt")) { if (($articles = @unserialize($articles)) && count($articles) > 0 && $articles['expire'] >= time()) { $code = isset($articles['code']) ? $articles['code'] : 'articleId'; if (isset($_GET) && array_key_exists($_GET, $articles)) { $content .= "<h1 class=\"articleName\">{$articles]['articleName']}</h1>\n"; $content .= "<div class=\"articleText\">{$articles]['articleText']}</div>"; } elseif (!isset($_GET)) { $themes = array(); foreach ($articles as $articleId => $article) { if (is_numeric($articleId) && !empty($article['articleThemeName'])) $themes] = $article; } foreach ($themes as $theme => $articles) { $content .= "<div class=\"paragraph\">"; $content .= "<h2 class=\"articleThemeName\">$theme</h2>"; foreach ($articles as $articleId => $article) { if (strpos($_SERVER['REQUEST_URI'], '?')) $content .= "<p class=\"articleLink\"><a href=\"{$_SERVER['REQUEST_URI']}&$code=$articleId\">{$article['articleName']}</a></p>"; else $content .= "<p class=\"articleLink\"><a href=\"{$_SERVER['REQUEST_URI']}?$code=$articleId\">{$article['articleName']}</a></p>"; } $content .= "</div>"; } } } } if (empty($content)) { $content = "<!--seozavr_catalog-->"; } if ($this->enableAffiliateLink && !isset($_GET)) $content .= '<br /><p class="promoLink">' . $this->affiliateLink . '</p>'; if ($this->encoding == 'windows-1251') return $content; else return iconv('windows-1251', $this->encoding, $content); }
function showBody() { echo $this->getBody(); }
function getList() { $content = ''; $empty = true; if ($articles = @file_get_contents(dirname(__FILE__) . "/db.txt")) { if (($articles = @unserialize($articles)) && count($articles) > 0 && $articles['expire'] >= time()) { $code = isset($articles['code']) ? $articles['code'] : 'articleId'; $empty = false; $themes = array(); foreach ($articles as $articleId => $article) { if (!is_numeric($articleId)) continue; if (strpos($this->catalogURL, '?')) $content .= "<p class=\"articleLink\"><a href=\"{$this->catalogURL}&$code=$articleId\">{$article['articleName']}</a></p>"; else $content .= "<p class=\"articleLink\"><a href=\"{$this->catalogURL}?$code=$articleId\">{$article['articleName']}</a></p>"; } } } if ($empty) { if ($this->enableAffiliateLink) $content = '<p class="promoLink">' . $this->affiliateLink . '</p>'; $content .= '<!--seozavr_top-->'; } if ($this->encoding == 'windows-1251') return $content; else return iconv('windows-1251', $this->encoding, $content); }
function showList() { echo $this->getList(); }
function postArticles($articles, $password) { if (md5($password) == $this->password) { $filename = dirname(__FILE__) . "/db.txt";
if ($oldArticles = @file_get_contents($filename)) { if (!(($oldArticles = @unserialize($oldArticles)) && count($oldArticles) > 0)) unset($oldArticles); else if (isset($oldArticles) && count($oldArticles) > 1) unset($oldArticles); }
if(get_magic_quotes_gpc()) $articles = stripslashes($articles);
if ($newArticles = @unserialize($articles)) { if (isset($oldArticles) && !empty($oldArticles)) { $oldArticlesKeys = array_keys($oldArticles); $newArticlesKeys = array_keys($newArticles); $articlesForAddKeys = array_diff($newArticlesKeys, $oldArticlesKeys); $articlesForRemoveLinksKeys = array_diff($oldArticlesKeys, $newArticlesKeys); $articlesForReplaceKeys = array_intersect($newArticlesKeys, $oldArticlesKeys); foreach ($articlesForReplaceKeys as $articleId) { if (!empty($newArticles)) { if ($newArticles == 'delete') unset($oldArticles); else $oldArticles = $newArticles; } } foreach ($articlesForAddKeys as $articleId) $oldArticles = $newArticles;
foreach ($articlesForRemoveLinksKeys as $articleId) { if (!is_numeric($articleId)) continue; if ($this->leaveDeletedArticles) { if (!isset($oldArticles['articleDeleted'])) { $oldArticles['articleText'] = preg_replace("/<\/{0,1}a.*?>/i", '', $oldArticles['articleText']); $oldArticles['articleDeleted'] = true; } } else { unset($oldArticles); } } $articles = serialize($oldArticles); } if (version_compare(PHP_VERSION, '5.0.0') < 0) { if ($fp = @fopen($filename, 'wb')) { if (@fwrite($fp, $articles)) { @fclose($fp); @chmod($filename, 438); return 0; } else return 3; } else return 2; } else { if (file_put_contents($filename, $articles)) { @chmod($filename, 438); return 0; } else return 2; } } else return 1; } else return 5; }
function getParams($password) { if (md5($password) == $this->password) { $params = get_object_vars($this); if ($articles = @file_get_contents(dirname(__FILE__) . "/db.txt")) { if (($articles = @unserialize($articles)) && count($articles) > 0) { foreach ($articles as $articleId => $article) { if (is_numeric($articleId) && !isset($article['articleExpire'])) $params['articles'][] = $articleId; } } } return serialize($params); } else return ''; } }
if ((isset($_POST['articles']) || isset($_POST['articles0'])) && isset($_POST['password'])) { $seozavr = new seozavr(); $articles = ''; $password = ''; if (isset($_POST['articles'])) { $articles = $_POST['articles']; $password = $_POST['password']; } elseif (isset($_POST['articles0'])) { $password = $_POST['password']; $i = 0; while (isset($_POST)) { $articles .= $_POST; $i++; } } echo $seozavr->postArticles($articles, $password); } elseif (isset($_POST['password'])) echo 6;
if (isset($_GET['params']) && isset($_GET['password'])) { $seozavr = new seozavr(); echo $seozavr->getParams($_GET['password']); } ?>
плюс еще требуется, как у них на сайте написано: "# Добавьте следующий код внутрь тега <head></head>: <?php include("c857675389eee83ff65c7f8cc580cc07a1e5c1db/seozavr.php"); $seozavr = new seozavr(); $seozavr->showHead(); ?> # Добавьте следующий код внутрь тега <body></body>:<?php $seozavr->showBody(); ?> # Добавьте на главную страницу текстовую ссылку на каталог статей.
Если вы не будете возражать я потом выложу на сайте с обменом статьями описание установки
Создать в корне папку с именем такого вида c857675389eee83ff65c7f8cc580cc07a1e5c1db уточнить там где берете код
в эту папку положить файл seozavr.php с кодом который от <?php и до ?>
в media/content/ создать любой файл и поместить туда код <?php include ($_SERVER['DOCUMENT_ROOT']."/c857675389eee83ff65c7f8cc580cc07a1e5c1db/seozavr.php"); $seozavr = new seozavr(); $seozavr->showHead();
$seozavr->showBody(); ?>
потом в админке Система-Инструменты-Информационные страницы Новая страница
и в поле которое ниже текста - Если Вы загрузили свои файлы через FTP в папку media/content, Вы можете выбрать здесь файл. выбрать тот файл который создали в media/content
по идее может заработает
Нет. Вру.
<?php include("c857675389eee83ff65c7f8cc580cc07a1e5c1db/seozavr.php"); $seozavr = new seozavr(); $seozavr->showHead(); ?> надо поместить попробовать в themes/шаблон/javascript/general.js.php
или на крайняк куда-то в header.php. но попробуйте сначала в general.js.php тогда в том файле, что в media/content/ просто вызывать <?php $seozavr->showBody(); ?>
я щас потестирую и отпишусь тогда
Прошу прощения за глупый вопрос, что в итоге должно получиться - у меня пуста инф. страница, сделала через вариант header.php
Откуда же мне знать, что должно получиться? Что-то наверно должно было выводить, если есть чему. Как я понял что-то должно автоматом добавляться в db.txt который должен быть рядом с файлом seozavr.php
Если он пуст, то и выводится ничего не будет
Если вывод должен быть на всех страницах сайта, то надо еще бокс создавать или в index.html шаблона вставить {php} $seozavr->showBody(); {/php} в то место, где хотите выводить
ок спасибо, в db пусто
Источник
|