Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

iSeller

Users
  
  • Posts

    122
  • Joined

  • Last visited

Everything posted by iSeller

  1. Вопрос был ранее. 2 мая. Добрый день. Бьюсь не первый день, не могу вылечить проблему. route=feed/yandex_market генерирует информацию для маркета, все бы хорошо, если к товару писать описания в 3 предложения. Но я пишу больше. Этот зверь вставляет весь этот текст, 1000+ знаков в описание, в файл для отправки в яндекс, думаю последний меня не поймет. Я долго ковырялся так и не понял где изменить место сбора текста. Создал по интсрукции отдельное поле с mini_description. Но как пихнуть этот текст yandex_market.php не пойму. Ответ я сам в итоге дал. Для всех.
  2. Модуль не работает, оплатил деньги, получил красивый, но бесполезный модуль. 2012-05-04 6:34:24 - PHP Notice: Undefined index: customer_id in /var/www/u2749756/public_html/*******/catalog/controller/checkout/simplecheckout_customer.php on line 714
  3. Добрый день. Бьюсь не первый день, не могу вылечить проблему. route=feed/yandex_market генерирует информацию для маркета, все бы хорошо, если к товару писать описания в 3 предложения. Но я пишу больше. Этот зверь вставляет весь этот текст, 1000+ знаков в описание, в файл для отправки в яндекс, думаю последний меня не поймет. Я долго ковырялся так и не понял где изменить место сбора текста. Создал по интсрукции отдельное поле с mini_description. Но как пихнуть этот текст yandex_market.php не пойму. И так ввиду очень отзывчивого сообщества opencartforum, проблему пришлось решать методом тыка. Все кто торгует или торговал на Яндекс-Маркет знают, что товар должен иметь конкретное, краткое описание, в поле <description></description>, иначе магазин просто не пройдет проверку. На проверку магазина отводиться 6 попыток, если вы не уложились, то вам откажут в размещении. Это кончено не конец света, можно написать в сапорт и вам дадут еще 6 попыток, но лучше сделать все сразу. По умолчанию в поле description попадает description, логично, но не в нашем случае, так как товар может быть один, но с разными характеристиками, например памятью, да и само поле description можно использовать в нужных целях, например написание длинного описания товара с целью SEO. Ниже я приведу пример для ocStore 1.5.1.3. Начнем. Добавляем новое поле в Базу Данных. 1. Запускаем phpMyAdmin, находим таблицу oc_product_description. 2. Добавляем новое поле после meta_description. В строку поле пишем: yml_ description, выбираем в поле тип: TEXT, поле сравнение: utf8_general_ci. Остальное не трогаем, жмем сохранить. 3. Открываем файл product.php (admincontrollercatalog) и после строки $this->data['entry_description'] = $this->language->get('entry_description'); Добавляем $this->data['entry_yml_description'] = $this->language->get('entry_yml_description'); 4. Открывем файл product_form.tpl (..adminviewtemplatecatalog) и после <tr> <td><span class="required">*</span> <?php echo $entry_name; ?></td> <td><input type="text" name="product_description[<?php echo $language['language_id']; ?>][name]" maxlength="255" size="100" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['name'] : ''; ?>" /> <?php if (isset($error_name[$language['language_id']])) { ?> <span class="error"><?php echo $error_name[$language['language_id']]; ?></span> <?php } ?></td> </tr> Вставляем это <tr> <td><?php echo $entry_yml_description; ?></td> <td><textarea name="product_description[<?php echo $language['language_id']; ?>][yml_description]" cols="40" rows="5"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['yml_description'] : ''; ?></textarea></td> </tr> 5. Открываем файл product.php (..adminmodelcatalog) и изменим это (строка 12) foreach ($data['product_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'"); } На это foreach ($data['product_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', yml_description = '" . $this->db->escape($value['yml_description']) . "', description = '" . $this->db->escape($value['description']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'"); } И это (строка 138) foreach ($data['product_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'"); } На это foreach ($data['product_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', yml_description = '" . $this->db->escape($value['yml_description']) . "', description = '" . $this->db->escape($value['description']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'"); } 6. В том же файле добавляем после 'meta_keyword' => $result['meta_keyword'], Вот это 'yml_description' => $result['yml_description'], 7. В фале product.php (..adminlanguagerussiancatalog) после строки $_['entry_description'] = 'Описание:'; Добавляем $_['entry_yml_description'] = 'YML описание:'; Открываем админку и в продукте видим новое поле: YML описание. Я долго не мог понять как подсунуть это в YML файл. Помог мне в этом deeman, спасибо ему за это. Делаем описанное ниже. Шаг номер 1. Открываем yandex_market.php (catalogmodelexport) строка 10 меняем pd.description на pd.yml_description. Шаг номер 2. Открываем yandex_market.php (catalogcontrollerfeed) строка 92 меняем $data['description'] = $product['description']; на $data['description'] = $product['yml_description']; На этом все. Теперь вводя описание в поле YML описание, оно будет появляться в <description></description>. отмечу что что-то посоветовать не смогу, я вообще не разбираюсь в php. Делал по инструкции с этого сайта, немного подумав подогнал под ocStore 1.5.1.3. Там есть небольшие различия. Но опять же методом тыка можно разобратся. Далее есть описание, как вставить это описание в товар. Но мне это не нужно, я не замарачивался. Но опять же надо будет искать подход 1.5.1.3, так как там, я так же некоторых строк не нашел.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.