IPB

Здравствуйте, гость ( Вход | Регистрация )

> Правильно формулируйте вопросы - Вам быстрей ответят

Перед подачей запроса воспользуйтесь сервисом Поиск. Возможно Ваш вопрос уже был задан и доступно быстрое решение.

Для максимально быстрого решения проблемы обязательно укажите:
- адрес Вашего сайта + наименование хостинга (локальный/внешний)
- номер установленного релиза PHPSHOP CMS FREE (Указывается в админпанели. Пример PHPShop CMS Free (сборка 34501).
- подготовьте принтскрин Вашей проблемы (снимок рабочего стола в момент ошибки) и прикрепите принтскрин в теме.
- укажите наименование и/или номер ошибки.
- подробно опишите алгоритм Ваших действий при выполнении поставленной задачи

Доступная документация: http://wiki.phpshopcms.ru

Самые свежие релизы в центре загрузки: http://phpshop.ru/page/downloads.html

Голосуйте и добавляйте свои идеи для PHPSHOP CMS FREE: http://idea.phpshop.ru/

 
Ответить в данную темуНачать новую тему
> Непонятка: Подключаемые страницы и description keywords
xxxl-rr
сообщение 3.7.2014, 14:59
Сообщение #1


Участник
**

Группа: Пользователи
Сообщений: 20
Регистрация: 14.12.2011
Из: Одесса
Пользователь №: 2876
Создано сайтов: 5



Здравствуйте. прошу помощи в следующем вопросе:

Собственно стоит задача подключить страницы (дабы получить урлы типа "мой сайт/stat/stat.html")

создан stat.core.php, каталог. прописан title как тут (далее скрин с офф.демо):



а как быть с description keywords?

на примере офф.демо, title description keywords прописаны почему-то в настройках страницы



по факту имеем только title... а description keywords пишутся из всеясистемных настроек и индивидуальных нету(



как победить?
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 3.7.2014, 18:04
Сообщение #2


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



А чем вариант с включенным SeoUrl и созданием страниц с линком stat/stat.html не подходит?
Нужно только 1 строчку поменять в файле, процесс описан в http://forum.phpshopcms.ru/index.php?showtopic=682

Перейти в начало страницы
 
+Цитировать сообщение
xxxl-rr
сообщение 3.7.2014, 18:56
Сообщение #3


Участник
**

Группа: Пользователи
Сообщений: 20
Регистрация: 14.12.2011
Из: Одесса
Пользователь №: 2876
Создано сайтов: 5



если я верно понимаю, seourl работает с каталогами, но мне не нужен каталог.
о какой именно строчке идёт речь? тему я смотрел

вот попробовал seourl, обнаружил такое в логах:

Код
16:20:38    IP     File does not exist: /home/user/fsite.net/up/phpshop/modules/seourl/admpanel/java, referer: http://up.site.net/phpshop/modules/seourl/admpanel/adm_module.php
16:20:38    IP     File does not exist: /home/user/site.net/up/phpshop/modules/seourl/admpanel/skins, referer: http://site.net/phpshop/modules/seourl/admpanel/adm_module.php


ещё есть такое:

Код
16:17:44    IP     File does not exist: /home/user/site.net/up/phpshop/admpanel/page/css, referer: http://up.site.net/phpshop/admpanel/catalog/adm_catalogID.php?id=3
16:17:41    IP     File does not exist: /home/user/site.net/up/phpshop/admpanel/page/java, referer: http://up.site.net/phpshop/admpanel/page/adm_pagesID.php?delID=ok
16:17:41    IP     File does not exist: /home/user/site.net/up/phpshop/admpanel/page/skins, referer: http://up.site.net/phpshop/admpanel/page/adm_pagesID.php?delID=ok
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 4.7.2014, 10:08
Сообщение #4


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Проверил код, дал неверную информацию.
Хотел сказать про вот такие урлы http://seocms.phpshopcms.com/page/admin/enter.html
те первым будет стоять page, а дальше уже вложенность может быть любой.
При включенном модуле SeoUrl так не работает, блокируется основными правилами ядра. Сначала должен быть обработчик раздела, в данном случаи page -> page.core.php

Для включения нужно раскомментировать строку 44 в phpshop/core/page.core.php

Код
/**
     * Экшен по умолчанию, вывод данных по странице
     * @return string
     */
    function index() {

        // Безопасность
        $link = PHPShopSecurity::TotalClean($this->PHPShopNav->getName(), 2);
        // Если ссылки /page/dir/subdir/name.html
        $link = PHPShopSecurity::TotalClean($this->PHPShopNav->getName('|'), 2); // Вот эту!

        // Выборка данных
        $row = parent::getFullInfoItem(array('*'), array('link' => "='$link'", 'enabled' => "!='0'"));
Перейти в начало страницы
 
+Цитировать сообщение
xxxl-rr
сообщение 5.7.2014, 1:30
Сообщение #5


Участник
**

Группа: Пользователи
Сообщений: 20
Регистрация: 14.12.2011
Из: Одесса
Пользователь №: 2876
Создано сайтов: 5



Денис Леонидович smile.gif спасибо за ответ, в будущем оно обязательно понадобится, строку открыл
но не об этом вопросы.

в данном случае, каталог не нужен мне, потому что урл будет доступен только роботам.

повторюсь:
"как поставить, если это возможно, description и keywords в статические страницы которые лежат в /pageHTML/ ?" то что на этом скрине - неработает.. или до него руки не дошли?)

как быть с ошибками в логах?
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 6.7.2014, 9:25
Сообщение #6


Администратор
***

Группа: Главные администраторы
Сообщений: 5911
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Ссылка в базе на отзывы добавлена в меню лишь с целью появления самой ссылки в меню навигации, основные настройки на нее не действуют.

По поводу pageHTML, то там по умолчанию используется лишь настройка Title, описанная в файле doc.core.php в setMeta(). Остальное берется из системных настроек по умолчанию. Для того, чтобы управлять мететегами из самих файлов в pageHTML я дописал код doc.core.php (точнее взял их сборки Micro).
Код
<?php

/**
* Обработчик подключаемых html файлов
* @author PHPShop Software
* @version 1.1
* @package PHPShopCore
*/
class PHPShopDoc extends PHPShopCore {

    /**
     * Конструктор
     */
    function __construct() {
        $this->empty_index_action = true;
        parent::PHPShopCore();
    }

    /**
     * Возврат содержимого файла
     * @param string $pages имя файла без расширения
     * @return string
     */
    function OpenHTML($pages) {
        $dir = "pageHTML/";
        $pages = $pages . ".php";
        $handle = opendir($dir);
        while ($file = readdir($handle)) {
            if ($file == $pages) {
                $urlfile = fopen("$dir$file", "r");
                $text = fread($urlfile, 1000000);
                return $text;
            }
        }
        return false;
    }

    /**
     * Экшен по умолчанию
     */
    function index() {

        // Читаем файл
        $dis = $this->OpenHTML($this->SysValue['nav']['name']);

        // 404 ошибка при отсутствии файла
        if (empty($dis))
            return $this->setError404();

        // Мета
        $meta = $this->getMeta($dis);

        $this->title=$meta['title'].' - '.$this->PHPShopSystem->getValue("name");
        $this->description = $meta['description'];
        $this->keywords = $meta['keywords'];

        // Определяем переменные
        $this->set('pageContent', $dis);
        $this->set('pageTitle', $this->meta[$this->SysValue['nav']['name']]);

        // Подключаем шаблон
        $this->parseTemplate($this->getValue('templates.page_page_list'));
    }

    /**
     * Настройка title, description, keywords из файла
     * <code>
     * // example:
     * <h1>Title</h1>
     * <desc>Description</desc>
     * <key>Keywords</key>
     * <p>World Peace</p>
     * </code>
     * @param string $content содержание файла
     * @return array
     */
    function getMeta($content) {

        // Title
        $patern = "/<h1>(.*)<\/h1>/i";
        preg_match($patern, $content, $matches);
        $title = $matches[1];

        // Description
        $patern = "/<desc>(.*)<\/desc>/i";
        preg_match($patern, $content, $matches);
        $description = $matches[1];

        // Keywords
        $patern = "/<key>(.*)<\/key>/i";
        preg_match($patern, $content, $matches);
        $keywords = $matches[1];

        return array('title' => $title, 'description' => $description, 'keywords' => $keywords);
    }

}

?>



Код
<h1>Title</h1>
<desc>Description</desc>
<key>Keywords</key>
<p>World Peace</p>


Собственно, меняем файл и используем теги h1,desc,key для их вывода. Можно эти теги прикрыть в css для привлекательности.

По ошибке в логе нужно в phpshop/class/admgui.class.php поменять строку 15

Код
var $dir='../';
Перейти в начало страницы
 
+Цитировать сообщение
xxxl-rr
сообщение 6.7.2014, 17:42
Сообщение #7


Участник
**

Группа: Пользователи
Сообщений: 20
Регистрация: 14.12.2011
Из: Одесса
Пользователь №: 2876
Создано сайтов: 5



таки да, подходит! большое спасибо!
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 19.11.2019, 8:54