Дмитрий

Дмитрий

С нами с 09 мая 2020; Место в рейтинге пользователей: #3287

Подскажите как брать ошибку!? PHP warning: Invalid argument supplied for foreach()

Добрый вечер!

Пытаюсь спарсить XML фаил с помощью catalogfill вроде в логах показывает массив но не добавляет их в TV:

[0] => Array
(
[] => Array
(
[0] => true
[1] => opt.globusceramica.ru/catalog/grespania/alabaster/13/
[2] => 3790
[3] => RUR
[4] => 96
[5] => 45x120
[6] => Глянцевая
[7] => Мрамор
[8] => Бежевый
[9] => 45
[10] => м2
[11] => 5830
)

[tv1] => opt.globusceramica.ru/upload/iblock/cd3/1ntxgpep3rui5c6xajqg8f14clrrltqw.jpg
[pagetitle] => ALABASTER ALABASTER BEIGE 45х120
)

Кусок из XML фаила именно параметры с названием не хочет
<param name="Размер"45x120</param>
Кусок из XML
<offer id="14" available="true">
     <currencyId>RUR</currencyId>
     <categoryId>96</categoryId>
     <picture>http://opt.globusceramica.ru/upload/iblock/ef2/c26wewu3mp4gqubj539u1n5i7s304o4u.jpg</picture>
     <name>ALABASTER ALABASTER TEBAS 45х120</name>
     <param name="Размер">45x120</param>
     <param name="Поверхность">Глянцевая</param>
     <param name="Рисунок">Мрамор</param>
     <param name="Color">Бежевый</param>
     <param name="РРЦ">9999</param>
 </offer>

Ошибку выдает в этом месте foreach($node as $k => $v) {:

* Переводит XML объект в массив, сохраняет значения и их xpath
     * 
     */
    public function parceXML($xmlObject, $out=array(), $level=0){
        
        //foreach($xmlObject->attributes() as $a => $b) {
        //    echo $a,'="',$b,"\"\n";
        //}
        
        foreach ((array) $xmlObject as $key => $node){
            
            //Атрибуты элемента
            if($key=='@attributes'){
                foreach($node as $k => $v) {
                    $this->keys[1][] = '@attributes.'.$k;
                    $this->values[] = trim($v);
                }
                continue;
            }
            
            if(is_object($node) || is_array($node)){
                
                //var_dump(count($this->keys[0]),$level,$key,implode('/',$this->keys[0]));
                //var_dump(implode('/',$this->keys[0])); echo "\n\n";
                
                //убираем с конца массива ключей значения, которые не соответствуют текущему уровню вложенности
                if(/*$level > 0 && */count($this->keys[0]) > $level){
                    $this->keys[0] = $this->array_mpop($this->keys[0],(count($this->keys[0]) - $level));
                }else{
                    $level = count($this->keys[0]);
                }
                if(!is_numeric($key)) $this->keys[0][] = trim($key);
                
                $out[$key] = $this->parceXML($node,$out,$level+1);
                
            }else{
                $this->keys[1][] = implode('/',array_merge($this->keys[0],array($key)));
                $this->values[] = trim($node);
                $out[$key] = trim($node);
            }
        }
        
        return $out;
    }
Подскажите где исправить!?
Дмитрий
04 сентября 2023, 18:47
modx.pro
545
0

Как почистить от Minishop2 сайт и его признаки!

Добрый день!
У меня проблема в удалении minishop2 может конечно что то не заметил и не удалил и не почистил!

1. Деинсталлировал Minishop2 через установщик
2. Почистил все чанки ms2
3. В БД удалил все базы с _ms2_
4. Minishop2 еще раз установил и все почистил… все равно нето!

Что еще надо сделать?

Сайт вроде работает favoritceramica.ru на SH и все вроде ок… начинаю товар импортировать через catalogfill его не видно в дереве и он импортируется с классом msProduct а должен modDocument, до этого все работало нормально но как быть!?

Может еще что то не почистил!?
Дмитрий
19 августа 2023, 13:16
modx.pro
229
0

Микроразметка хлебных крошек ModX Revo SK3

Добрый день!

Подскажите, куда и как копать!?

Пытаюсь микроразметку сделать, сначала куда то сьежает влево, ставлю куда надо, пропадает загрузчик сайта(((

Код чанка без микроразметки был такой:

[[pdoCrumbs?
    &showAtHome=`0`
    &showHome=`1`
    &exclude=`[[*id:ne=`2`:then=`2`]]`
    &outputSeparator=``
    &tplWrapper=`@INLINE <nav class="breadcrumb-area" aria-label="breadcrumb"> <div class="container"> <ol class="breadcrumb">[[+output]]</ol></div></nav>`
    &tpl=`@INLINE <li class="breadcrumb-item"><a href="[[+link]]">[[+menutitle]]</a></li>`
    &tplCurrent=`@INLINE <li class="breadcrumb-item active" aria-current="page">[[+menutitle]]</li>`
    &tplHome=`@INLINE <li class="breadcrumb-item"><a href="[[+link]]">Главная</a></li>`
    &tplMax=``
]]
Переделал, ошибок нету в проверках у гугла и яндекса, ну куда то загрузчик девается, загружает в подвале (((

Код чанка с микроразметкой:

[[pdoCrumbs?
    &showAtHome=`1`
    &showHome=`1`
    &exclude=`[[*id:ne=`2`:then=`2`]]`
    &outputSeparator=``
    &tplWrapper=`@INLINE <nav itemscope="breadcrumb-area" itemtype="http://schema.org/BreadcrumbList" <div class="container"><ol class="breadcrumb">[[+output]]</ol></div></nav>`
    &tpl=`@INLINE <li itemscope="breadcrumb-item" itemprop="itemListElement" itemtype="http://schema.org/ListItem" class="breadcrumb-item"><a title="[[+menutitle]]" itemprop="item" href="[[+link]]"><span itemprop="name">[[+menutitle]]</span><meta itemprop="position" content="[[+idx]]"></a></li>`
    &tplCurrent=`@INLINE <li itemscope="breadcrumb-item active" itemprop="itemListElement" itemtype="http://schema.org/ListItem" class="breadcrumb-item active"><a title="[[+menutitle]]" itemprop="item" href="[[+link]]"><span itemprop="name">[[+menutitle]]</span><meta itemprop="position" content="[[+idx]]"></a></li>`
    &tplHome=`@INLINE <li itemscope="breadcrumb-item" itemprop="itemListElement" itemtype="http://schema.org/ListItem" class="breadcrumb-item"><a rel="nofollow" title="[[+menutitle]]" itemprop="item" href="[[+link]]"><span itemprop="name">[[+menutitle]]</span><meta itemprop="position" content="[[+idx]]"></a></li>`
    &tplMax=``
]]
Где то ошибка в "&tplWrapper="
Дмитрий
29 июня 2020, 11:05
modx.pro
1 251
0