sergey.gorbunov.sg 0 Опубликовано 2 ноября, 2016 Жалоба Share Опубликовано 2 ноября, 2016 Доброе время суток! Появилась необходимость внедрить новую "галочку" на подобие " Экспорт в YML". Результат внедрения ниже: Но есть проблема, сколько не щёлкая по крестику, в галочку он не превращается. Уже даже не знаю в какой файл лесть, для правки. Подскажите, пожалуйста, в какие файлы необходимо внести изменения, чтобы эта колонка заработала как " Экспорт в YML"? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 ноября, 2016 Жалоба Share Опубликовано 2 ноября, 2016 В 02.11.2016 в 06:31, sergey.gorbunov.sg сказал: Доброе время суток! Появилась необходимость внедрить новую "галочку" на подобие " Экспорт в YML". Результат внедрения ниже: Но есть проблема, сколько не щёлкая по крестику, в галочку он не превращается. Уже даже не знаю в какой файл лесть, для правки. Подскажите, пожалуйста, в какие файлы необходимо внести изменения, чтобы эта колонка заработала как " Экспорт в YML"? Expand Здравствуйте! Так просто добавить новую колонку в шаблон недостаточно ведь. Надо php код писать для этой колонки, что б всё работало. Нужно в /app/Controller/ContentsController.php делать копию метода admin_change_yml_export_status и править уже код в Вашем новом методе, например назвать его admin_change_cpa_export_status и в базе данных, в таблице contents рядом с yml_export добавлять новую колонку, например cpa_export Вот если правильно всё сделаете, т.е. добавите колонку в базу, добавите обработчик для Вашего клика в новой колонки в /app/Controller/ContentsController.php и саму колонку в /app/View/Contents/admin.ctp Тогда всё будет работать и галочка будет меняться. Ссылка на сообщение Поделиться на другие сайты
sergey.gorbunov.sg 0 Опубликовано 2 ноября, 2016 Автор Жалоба Share Опубликовано 2 ноября, 2016 Да, сработало! Основу Я сделал, а вот внесения изменений в БД Я как-то откладывал. Теперь осталось, чтобы эти данные попадали в файл выгрузки toolsplus.ru/yandex_market.xml На данный момент картина следующая: <cpa/> А нужно: <cpa>1</cpa> или <cpa>0</cpa> В файл yandex.ctp (/app/View/Sitemaps/xml) Я внёс следующую строку: <cpa><?php echo $content['Content']['cpa_export'] ?></cpa> после <name> Видимо - это не правильно, подскажите, пожалуйста, как будет правильнее? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 ноября, 2016 Жалоба Share Опубликовано 2 ноября, 2016 В 02.11.2016 в 12:10, sergey.gorbunov.sg сказал: Да, сработало! Основу Я сделал, а вот внесения изменений в БД Я как-то откладывал. Теперь осталось, чтобы эти данные попадали в файл выгрузки toolsplus.ru/yandex_market.xml На данный момент картина следующая: <cpa/> А нужно: <cpa>1</cpa> или <cpa>0</cpa> В файл yandex.ctp (/app/View/Sitemaps/xml) Я внёс следующую строку: <cpa><?php echo $content['Content']['cpa_export'] ?></cpa> после <name> Видимо - это не правильно, подскажите, пожалуйста, как будет правильнее? Expand Всё правильно делаете, остался последний шаг, добавить это новое поле в /app/Controller/SitemapsController.php, что б в yandex.ctp выводилось значение этой колонки из базы. Меняйте в /app/Controller/SitemapsController.php: if ($raw_data['ContentType']['name'] == 'category') { $content_list_categories[$count_categories]['id'] = $raw_data['Content']['id']; $content_list_categories[$count_categories]['parentId'] = $raw_data['Content']['parent_id']; $content_list_categories[$count_categories]['name'] = $raw_data['ContentDescription']['name']; $count_categories++; } elseif($raw_data['ContentType']['name'] == 'product' or $raw_data['ContentType']['name'] == 'downloadable') { $content_list_products[$count_products]['id'] = $raw_data['Content']['id']; на: if ($raw_data['ContentType']['name'] == 'category') { $content_list_categories[$count_categories]['id'] = $raw_data['Content']['id']; $content_list_categories[$count_categories]['cpa_export'] = $raw_data['Content']['cpa_export']; $content_list_categories[$count_categories]['parentId'] = $raw_data['Content']['parent_id']; $content_list_categories[$count_categories]['name'] = $raw_data['ContentDescription']['name']; $count_categories++; } elseif($raw_data['ContentType']['name'] == 'product' or $raw_data['ContentType']['name'] == 'downloadable') { $content_list_products[$count_products]['id'] = $raw_data['Content']['id']; $content_list_products[$count_products]['cpa_export'] = $raw_data['Content']['cpa_export']; т.е. просто добавляете в массив новое значение cpa_export и всё должно заработать, по идее. Ссылка на сообщение Поделиться на другие сайты
sergey.gorbunov.sg 0 Опубликовано 2 ноября, 2016 Автор Жалоба Share Опубликовано 2 ноября, 2016 Ништяк, заработало! :) Единственное, в файле /app/View/Sitemaps/xml/yandex.ctp исправил с: <cpa><?php echo $content['Content']['cpa_export'] ?></cpa> на <cpa><?php echo $product['cpa_export'] ?></cpa> В общем ещё раз спасибо за помощь! Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 ноября, 2016 Жалоба Share Опубликовано 2 ноября, 2016 Это уже смотря где Вам надо выводить значение, там же можон для категорий отдельно код выводить, а отдельно для товаров. Это уже сами смотрите. Ссылка на сообщение Поделиться на другие сайты
sheldon 1 Опубликовано 12 ноября, 2016 Жалоба Share Опубликовано 12 ноября, 2016 В новом обновлении это будет по умолчанию добавлено в вамшоп2? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 ноября, 2016 Жалоба Share Опубликовано 12 ноября, 2016 В 12.11.2016 в 07:38, sheldon сказал: В новом обновлении это будет по умолчанию добавлено в вамшоп2? Expand "это" - это что именно?! Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения