Последние темы


Некорректная работа в админке нескольких tv с типом ввода param-edit

  • Здравствуйте.
    Стоит MODx Revo 2.5.1 & SHK3 3.2.4
    Тема уже была в обсуждении на старом форуме, но сейчас она не доступна и в архиве тоже.
    Суть проблемы в том, что при назначении документу нескольких tv-параметров с параметром ввода param-edit в админке глюки с редактированием значений этих tv. А именно - выделенное поле ввода "скачет". Трудно описать словами что происходит, но попробую:
    При "первом" редактировании любого из tv с param-edit проблем нет. Но если сразу же попробовать редактировать другой подобный tv, то поле ввода "перескакивае"т на тот tv, который редактировался самый первый, и конечно отображается полная ересь.
    Если перегрузить страницу, то можно опять редактировать любой из tv, но при редактировании следующего происходить такой же сбой.

    На старом сайте с shopkeeper2 версии 2.3.2 этой проблемы не было.

    Друзья, подскажите плз как бороться или где покопать. Спасибо.

  • Попробуйте обновиться на 3.2.5rc1.
    http://forum.modx-shopkeeper.ru/topic/456/вышел-shopkeeper-2-3-5rc1
    Не уверен, что поможет, но попробовать стоит.

  • @Andchir, Благодарю. Я тоже интуитивно подумал об этом, завтра поэксперементирую и обязательно отпишусь. Но если вы специально не решали эту задачу в версии 3.2.5rc1, то проблемма вряд ли рассосется сама по себе.
    Андрей, не сочтите за труд, пожалуйста напомните... Год или два назад я читал, вроде на старом форуме или ..., не помню где, вы там указывали путь в папке manager, где прописывается или дописывается этот ваш класс, и даже, если не путаю, давали по этому поводу разъяснения и рекомендации.
    Ваш класс, обеспечивающий работу param-edit был очень удобен, я его использовал во многих задачах, и SHK ставил даже туда, где не было магазина, только ради самого этого класса.
    Плз. направьте по нужному адресу. Не уверен, что разберусь, но решить вопрос очень хочется.
    Я понимаю, что у вас полно работы и вам вероятно совсем не до этого param-edit.
    Если это принципиально (обратить на этот момент ваше пристальное внимание), то я готов профинансировать именно этот вопрос, не знаю сколько это может стоить, но надеюсь смогу потянуть.
    Спасибо.

  • Установка shk 2-3-5rc1 не дала ни каких результатов.

  • @Asderkdw проблему как-нибудь решили? Я, пока что, просто перезагружаю страницу после работы с одним ТВ, начинаю работать с другим, потом опять перезагружаю 😃 Неудобно, но хоть как-то.

  • Пожалуйста, добавьте задачу здесь чтобы я не забыл: https://github.com/andchir/shopkeeper3/issues

  • @Andchir добавил. Объяснил как смог + скрин 😃

  • @Andchir Спасибо, работает

 

Последние комментарии

  • Y

    В чем может быть проблема?

    Читать далее
  • Y

    Big и Small Images могут быть от 1 до 10, Summary иногда имеет внутри текст и выглядит так:

    <Summary> <item>текст</item> </Summary>

    Читать далее
  • Y

    Не импортируются товары из Xml, вместо них выводит такие ошибки:

    Invalid argument supplied for foreach()
    SimpleXMLElement::xpath(): Invalid expression
    PHP warning: SimpleXMLElement::xpath(): xmlXPathEval: evaluation failed
    PHP warning: current() expects parameter 1 to be array, boolean given

    Вот как выглядит строка товара xml:
    <root>

    <Big_Images> <Big_Images0>url to img</Big_Images0> <Big_Images1>url to img</Big_Images0> </Big_Images> <Small_Images> <Small_Images0>url to img</Small_Images0> <Small_Images1>url to img</Small_Images1> </Small_Images> <Title>рандомное имя</Title> <Summary/> <Price>7.43</Price> <Main_Info><item>много html кода</item></Main_Info> </root>

    И вот сам php файл для импорта:

    <?php //разбивка по столбцам при импорте и экспорте (content|tv|category) //$cf_config['content_row'] = array( //array('Title',array('pagetitle','content')), //array('Title',array(43,'tv')), //array('Big_Images',array(44,'tv')), //array('Price',array(45,'tv')) //); //значения по умолчанию при импорте или проверка при экспорте $cf_config['imp_content_default'] = array( 'content' => array( 'deleted' => 0, 'published' => 1, 'description' => '', 'show_in_tree' => 0, 'class_key' => 'msProduct', 'template' => 8 // ID шаблона товара //'createdon' => strtotime("now") //'publishedon' => strtotime("now") //'pub_date' => strtotime("now") //'editedby' => 1 //'editedon' => strtotime("now") ), 'tv' => array( //7 => 0 ) ); //первая строка - названия полей $cf_config['include_captions'] = false; //число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать. $cf_config['batch_import'] = 0; //разбивать по категориям $cf_config['include_categories'] = false; //удалять дочерние категории при очистке и обновлении каталога $cf_config['delete_subcategories'] = true; //по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_field'] = 'pagetitle'; //проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_tvid_val'] = false; //Добавлять товары, которые не найдены при обновлении по TV (imp_chk_tvid_val) или полю (imp_chk_field) $cf_config['imp_if_not_exist'] = false; //удалять HTML-теги при экспорте $cf_config['exp_strip_tags'] = false; //автоматически генерировать псевдоним (alias) при импорте //false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит. $cf_config['imp_autoalias'] = false; //Изменить значения поля для всех вложенных товаров до начала импорта. //Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе. //первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым) $cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены //удалить файл после экспорта (скачивания) $cf_config['exp_delete_file'] = false; //кодировка CSV-файла при экспорте $cf_config['exp_csv_charset'] = 'UTF-8'; //'windows-1251' //Импортировать (обновлять) пустые значения $cf_config['imp_empty'] = true; //Имя файла процессора, который использовать для импорта. Если пусто, используется стандартный процессор "import". $cf_config['imp_custom_processor'] = ''; //путь (xpath) в XML структуре до товаров $cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers'; //Структура XML файла для импорта $cf_config['imp_xml_structure'] = <<<EOF <root> <Big_Images> <Big_Images0>tv44</Big_Images0> <Big_Images1>tv48</Big_Images1> <Big_Images2>tv49</Big_Images2> <Big_Images3>tv50</Big_Images3> <Big_Images4>tv51</Big_Images4> <Big_Images5>tv52</Big_Images5> <Big_Images6>tv53</Big_Images6> <Big_Images7>tv54</Big_Images7> <Big_Images8>tv55</Big_Images8> <Big_Images9>tv56</Big_Images9> </Big_Images> <Small_Images> <Small_Images0>tv47</Small_Images0> <Small_Images1>tv58</Small_Images1> <Small_Images2>tv59</Small_Images2> <Small_Images3>tv60</Small_Images3> <Small_Images4>tv61</Small_Images4> <Small_Images5>tv62</Small_Images5> <Small_Images6>tv63</Small_Images6> <Small_Images7>tv64</Small_Images7> <Small_Images8>tv65</Small_Images8> <Small_Images9>tv66</Small_Images9> </Small_Images> <Title>pagetitle</Title> <Summary> <item>tv57</item> </Summary> <Price>tv45</Price> <Main_Info> <item>tv46</item> </Main_Info> </root> EOF; //тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок. $cf_config['imp_testmode'] = false; //функция для фильтрации значений при ИМПОРТЕ function filter_import($value_arr){ $output_arr = $value_arr; /* if(isset($output_arr['content']['pagetitle'])) $output_arr['content']['pagetitle'] = mb_strtoupper($output_arr['content']['pagetitle'], 'UTF-8'); */ return $output_arr; } //функция для фильтрации значений при ЭКСПОРТЕ function filter_export($value_arr,$doc_id=0){ $output_arr = $value_arr; //var_dump($value_arr,$output_arr); //exit; /* if(isset($output_arr['price'])) $output_arr[1] = floatval($output_arr[1]) - 200; */ return $output_arr; } ?>

    Читать далее
  • Начать нужно с документации. Потом открыть файл конфигурации. Потом можно на форуме почитать темы, связанные с CatalogFill.

    Читать далее