Вход • Регистрация

Всего найдено: 5656

  • 06 июля 2011 г.
  • Разница в том, что ручной способ - ручной, а в модуле - автоматизированный.
    Пока это просто глобальная функция с файлом с ключевиками. Пропускаете через эту функцию, например $row["text"] из модуля вопрос-ответ, и по всем текстам на сайте если встречаются ключевики в вопросах-ответах пользователей, то они превращаются в ссылки на нужные внутренние страницы.
  • 03 ноября 2011 г.
  • Гарик забыл написать как работает функция в принципе.
    Есть глобальная функция, называется key_values()
    Вызывать ее можно откуда угодно, из любого модуля, из любой функции.
    Эта функция работает в паре с файлом keywords.php, который должен лежать в корне сайта.
    Файл keywords.php представляет из себя просто массив
    Код
    $keywords = array(
    'Ключевик1' => 'http://site.ru/url/',
    'Ключевик2' => '/url2/',
    'Ключевик3' => 'http://site.ru/url3/'
    );

    По умолчанию этого файла в корне нет! Так как функция редко и мало кем используется, файл надо создавать самим.
    Функция делает что: она берет текст и если встречает там ключевики из указанного массива, она меняет их на ссылки на соответствующую страницу.

    То есть, у вас есть сайт по кондиционерам и на нем рубрика "Вопрос-ответ", куда задается куча вопросов по кондиционерам. Вы хотите, чтобы из всех ответов, которые ваш консультант отвечал посетителям, слова "кондиционер" ссылались на главную страницу сайта.
    Тогда идете в файл /modules/faq/faq.view.php, находите функцию id() и там вывод ответа echo $row["text"]; и делаете так:
    Код
    echo $this->diafan->key_values($row["text"]);

    Затем в корне сайта создаете файл keywords.php
    Код
    $keywords = array(
    'кондиционер' => '/',
    'кондиционера' => '/',
    'кондиционеру' => '/',
    'кондиционером' => '/',
    'кондиционеры' => '/',
    'кондиционеров' => '/'
    );

    И все. Во всех ответах на вопросы эти слова автоматически сошлются на главную страницу.

    Так же можете применить к комментариям, которые оставляют пользователи, к форуму, к новостям, а можете к функции show_body(), чтобы вообще все ключевики на сайте ссылалось куда надо.
  • 25 ноября 2011 г.
  • Смотрите:
    Код
    $this->view->get_function_in_theme($this->diafan->text);

    это обработка переменной $this->diafan->text для поиска шаблонных тегов вставленных в контент.
    В Вашей версии переменная называется не $text, а $this->diafan->text. Но смысл остается тот же.
    До или после обрабатывайте эту переменную для замены ключевиков на ссылки.
    Код
    $this->diafan->text=$this->diafan->key_values($this->diafan->text);
  • 25 ноября 2011 г.
  • Цитата
    Скачивайте самый последний пакет diafan.CMS и берите от туда файл /includes/core.php

    У Вас какая версия CMS? В пакете по умолчанию эта функция только с 4.5.0.8
    В остальных более старых версиях эту функцию надо добавлять.
  • 25 ноября 2011 г.
  • Куда Вы заменили core.php??? Вы взяли core.php из 4.5 и залили сверху 4.3???
    Гхм... Как бы мягко говоря, core.php в 4.3 и 4.5 отличаются. Если бы так все просто можно было между версиями заливать поверх друг друга, зачем бы тогда все пакетные обновления и строгая последовательность были бы нужны?
    core.php из последнего пакета работает только в линейке 4.5! И это очевидно, по-моему... Для 4.3 можете только взять этот последний core.php, найти там функцию key_values(), скопировать ее к себе в core подогнав под остальные функции там.
    И то я до конца не знаю, будет ли это сразу работать на 4.3. Надо Гарика спросить.
  • 25 ноября 2011 г. , редакция: 1322236531
  • Модуль перелинковки и сама функция примитивнейшая. Алгоритм ее работы проще некуда. Такие функции ставят в пример новичкам программистам.

    Вот функция:
    Код
    public function key_values($text){

    if(!file_exists(ABSOLUTE_PATH.'keywords.php'))
    { return $text; } //проверяем наличие файла keywords.php

    include_once(ABSOLUTE_PATH.'keywords.php'); //инклюдим файл

    foreach($keywords as $k => $v) { //цикл, перебираем все ключевики из файла

    $text = preg_replace('/([^a-zA-Zа-яА-Я])'.$k.'([^a-zA-Zа-яА-Я])/', '$1<a href="'.$v.'">'.$k.'</a>$2', $text); //меняем слово на <a href=>слово</a>

    }

    return $text; //отдаем результат работы

    }

    Она делает одно единственное действие: перебирает массив из файла keywords.php и меняет найденное слово на это же слово со ссылкой вокруг.

    Засунув эту функцию в core.php или в function.php ее можно использовать в любом месте CMS как $this->diafan->key_values().

    Уже этого сообщения достаточно, чтобы даже начинающему программисту сделать перелинковку в любой версии самостоятельно. Если Вы вообще не программист, то остается только заплатить, чтобы сделали.
  • 10 августа 2012 г.
  • Цитата
    Сделал все как описано выше. Эффекта нет. Текст который встречается,на сайте - просто текст.

    Цитата
    У меня ноль эффекта.

    Цитата
    Ключевики в тексте, не становятся a hrefами.

    Слушайте, сейчас сам бился часа полтора, не работало. Копался-копался, начал трассировать - понял в чем проблема!
    Кодировка! Кодировка файла keywords.php! Она должна быть UTF without BOM, как и все файлы CMS. У меня была ANSI и ничего не работало, есессно. Т.к. ключевики брались из файла ромбиками и не находились в тексте. Изменил кодировку, все заработало.
    Это так, на будущее может кому поможет.
  • 16 августа 2012 г.
  • А с чего скриптам на хосте работать не так, как на локале? Это ж скрипты!
    Идите в /includes/function.php в функцию show_path
    И там, со строки 253 по 274 измените вывод сепаратора с "после ссылки" на "до ссылки"
  • 19 мая 2011 г.
  • Умножьте эту вероятность еще на тех, кто пользуется Оперой...
    Число пользователей и с аутпостом и с оперой будет еще ничтожнее.
    При включенном аутпосте в других браузерах все нормально, это какое-то взаимодействие аутпоста чисто с оперой...
  • 18 мая 2011 г. , редакция: 1305698889
  • "Пропиариться"?
    Вот только вчера разговаривал с одним оффлайн-бизнесменом, и рассказывал ему особенности интернет-бизнеса и в частности рынка CMS. Если взять продуктовый магазин, как бизнес, то это не проблема: рекламу жахнул, красивый магазин открыл, пропиарился и народ пойдет. В случае с CMS, как ни тужься, но продажи будут только после набранного авторитета, а это прежде всего время. Т.е. надо просто тупо быть старым и известным и при этом важно, чтобы на CMS было сделано много таких же старых и надежных сайтов. Возьмите Битрикс - почему она первая? Потому, что жутко крутая? Нет, потому, что проверена временем и опыт большой. Хотя Битрикс при этом далеко не примитивна и вполне себе крута.
    Мы движемся правильно. Идет время, уже третий год, как мы на рынке коробочный версий. Мы обросли жирком, появляются перья, мы даем рекламу там-сям, люди интересуются, становятся партнерами, даелают сайты. Сайты матереют, взрослеют и вместе с ними мы. Рост гиперболический и мы пока подбираемся к середине. Скоро кривая поползет резко вверх. Тогда и масивные PR-акции и рекламные кампании можно давать!
    Но сейчас мы не против всяких публикаций, статей и т.д., так то если есть аккаунт на Хабре и есть что сказать о нас, мы только за
  • 15 июня 2011 г. , редакция: 1308088370
  • Наблюдаю вот таблицу CMS http://www.cmsmagazine.ru/catalogue/ и думаю... Никто чего-то отзывов про нас не пишет... Колонка "Отзывов" у нас пустая, а выше у всех есть.
    Может у кого есть аккаунт на CMSMagazine и проектик на diafan.CMS, который можно описать там и отозваться о нас?

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум