Статус
В этой теме нельзя размещать новые ответы.
В теме не как вы выразились обрывки инфо бага с блогом при добавлении картинки, а конкретное решение. И в отличии от личек бесплатное.
а причем тут платное??? ели в личку то платное значит? сорри, не знал что тут так все. а про блог с ошибкой, так хайд тут, я не вижу что под ним. а в теме читал что кто-то сталкивался с этим, вот и написал тут. в любом случае хотел только помочь хоть кому-нибудь.

И сорри если это оффтоп, я удалю если что...
кто знает как правильно прикрутить ssl сертификат на сайт? я ставлю сертификат, в админке он нормально работает, на сайте криво. кто сталкивался?
 
У вас же записывает в пустой файл sitemap.xml содержимое переменной $header а именно
Код:
        $header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n"
В файле sitemap.xml появляется строки
Код:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Но после этих строк у нас должна формироваться карта в плане
Код:
<url>
<loc>http://reger.ru/saratov/search/nedvizhimost/prodazha-nedvizhimosti/prodazha-kvartir/novostroyki/odnokomnatnaja-kvartira-15.html</loc>
<lastmod>2017-01-04</lastmod>
</url>
И в конце закрывающий тег urlset, то есть если даже у вас нет, что формировать, то в нормальном случае у вас должен создаться законченный код с тегом закрытия.
Код:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
</urlset>
В вашем случае у вас формируется sitemap.xml значит права и пути соответствуют и ошибки в этом нет, но в файл записывается только содержимое $header и всё! Даже закрывающий тег не пишет. Поэтому при обрашениие к файлу xml у вас и ошибка. Файл xml неправильно собран. Копайте код после 77 строки. попробуйте без строки формирования карты, залочьте или удалите временно с строки с 77 до fwrite($f, '</urlset>'); У меня это 91 строка. Эта строка как раз записывает в файл закрывающий тег. ну и посмотреть файл xml правильно соберётся или нет.
Кстати какие рабочие файлы вы берёте с других сайтов? Три файла?
Разобрался:confused: : в версии php, в анонимных функциях они убрали возможность использовать указатель на класс $this, что и приводило к ошибке при генерации карты. И только начиная с 5.4 версии включили данную возможность. Ниже 5.4 не будет работать код.
 
Регионы в строке поиска.
В архиве то, что на скриншотах. Добавлено к тому, что в моём посте №64 на скриншоте Для просмотра ссылки Войди или Зарегистрируйся Для просмотра ссылки Войди или Зарегистрируйся
В архиве всё по папкам, можно скопировать в корень и заменить, или как вам удобно. Зачистите кэш браузера.


Разобрался:confused: : в версии php, в анонимных функциях они убрали возможность использовать указатель на класс $this, что и приводило к ошибке при генерации карты. И только начиная с 5.4 версии включили данную возможность. Ниже 5.4 не будет работать код.
Почему ошибки не выдавал, должен был дать
Код:
Fatal error: Using $this when not in object context in C:\OpenServer\domains\reger.ru\modules\bbs\bbs.model.php on line 1486
Ну и в логи точно прописал бы
Код:
2017/01/04 09:51:37 Argument 2 passed to {closure}() must be an instance of callable, instance of Closure given, called in C:\OpenServer\domains\reger.ru\bff\utils\sitemap.php on line 88 and defined > C:\OpenServer\domains\reger.ru\modules\bbs\bbs.model.php [1481]
Почему у вас лог пуст. А так рад, что решили.
 

Вложения

  • filter_1.jpg
    filter_1.jpg
    95,2 KB · Просмотры: 370
  • filter_2.jpg
    filter_2.jpg
    142,9 KB · Просмотры: 336
  • filter_3.jpg
    filter_3.jpg
    141,1 KB · Просмотры: 318
  • filter_4.jpg
    filter_4.jpg
    84,3 KB · Просмотры: 313
  • shop_1.jpg
    shop_1.jpg
    76,3 KB · Просмотры: 302
  • shop_2.jpg
    shop_2.jpg
    137,7 KB · Просмотры: 310
Последнее редактирование:
В архиве то, что на скриншотах. Добавлено к тому, что в моём посте №64 на скриншоте Для просмотра ссылки Войди или Зарегистрируйся Для просмотра ссылки Войди или Зарегистрируйся
В архиве всё по папкам, можно скопировать в корень и заменить, или как вам удобно. Зачистите кэш браузера.

В магазине регионы в этом исполнение тоже показывает?
 

Вложения

  • shop_1.jpg
    shop_1.jpg
    76,3 KB · Просмотры: 176
  • shop_2.jpg
    shop_2.jpg
    137,7 KB · Просмотры: 163
Подскажите причину, по которой карта генерирует не правильный файл xml
<loc>//barnaul.{sitehost}/search/gorno-shahtno/skrepernoje-oborudovanije/blok-skrepernyj-bs-1.html</loc>
 
Подскажите причину, по которой карта генерирует не правильный файл xml
<loc>//barnaul.{sitehost}/search/gorno-shahtno/skrepernoje-oborudovanije/blok-skrepernyj-bs-1.html</loc>
У меня {sitehost} выскакивал на городском портале от тамары. Проблема была в кривом цикле, а именно в строки $v['l'] = BBS::urlDynamic($v['l']); метода itemsCronSitemap файл bbs.class.php
PHP:
    public function itemsCronSitemap()
    {
        if (!bff::cron()) {
            return;
        }

        $filename = 'bbs_items_sitemap';
        $path = PATH_PUBLIC . 'files/';
        $url = bff::urlBase() . 'files';

        $items = $this->model->itemsCronSitemap();
        if (empty($items)) {
            return;
        }
        foreach ($items as &$v) {
            $v['l'] = BBS::urlDynamic($v['l']);
            BBS::urlDynamic($item['l'])
        }
        unset($v);

        require_once(PATH_CORE . 'utils/sitemap.php');
        $sitemap = new CSitemapXML();
        $sitemap->build($items, $filename, $path, $url, false);
    }
В 2.2 строка в методе itemsSitemapXmlData файл bbs.model.php. Утверждать, что у вас причина в этом не буду, но может поможет информация.
PHP:
    public function itemsSitemapXmlData()
    {
        $aFilter = array(
            'status' => BBS::STATUS_PUBLICATED
        );
        if (BBS::premoderation()) {
            $aFilter[] = 'moderated > 0';
        }

        return function($count = false, callable $callback = null) use ($aFilter){
            if ($count) {
                $aFilter = $this->prepareFilter($aFilter);
                return $this->db->one_data('SELECT COUNT(*) FROM '.TABLE_BBS_ITEMS.' '.$aFilter['where'], $aFilter['bind']);
            } else {
                $aFilter = $this->prepareFilter($aFilter, '', array(
                    ':format' => '%Y-%m-%d',
                ));
                $this->db->select_iterator('
                    SELECT link as l, DATE_FORMAT(modified, :format) as m
                    FROM ' . TABLE_BBS_ITEMS . '
                    '. $aFilter['where'] .'
                    ORDER BY modified DESC',
                $aFilter['bind'],
                function(&$item) use (&$callback){
                    $item['l'] = BBS::urlDynamic($item['l']);
                    $callback($item);
                });
            }
            return false;
        };
    }

P.S. Как выяснилось у Pager290583 вообще не было цикла указанного выше. Для решения проблемы с нерабочим sitemap в его сборке было применено решение по использованию кода из 2.1. Добавив цикл в соответствующий метод ошибка исчезнет. Конкретно
PHP:
foreach ($data as &$v) {
    $v['l'] = BBS::urlDynamic($v['l']);
    }
unset($v);
 
Последнее редактирование:
Уважаемые. Прошу прощение, что перебиваю ваш диалог. У меня простой вопрос к знающим людям. Можно ли установить скрипт тамаранги на обычный хостинг? Разработчики рекомендуют выделенный сервер. А на хостинге что какие то функции не будут работать? Почему именно сервер то? Спасибо за ответы.
 
Уважаемые. Прошу прощение, что перебиваю ваш диалог. У меня простой вопрос к знающим людям. Можно ли установить скрипт тамаранги на обычный хостинг? Разработчики рекомендуют выделенный сервер. А на хостинге что какие то функции не будут работать? Почему именно сервер то? Спасибо за ответы.
Можною требования написаны там же.
php 5.4 + ioncube, остальное как у всех.
Единственным нужно чтобы был доступ на 1 уровень выше папки домена.
Например тотже timeweb подходит
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху