Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

bochicca

Пользователи
  
  • Публикаций

    50
  • Зарегистрирован

  • Посещение

Все публикации пользователя bochicca

  1. bochicca

    Валюта + % на курс ?

    спасибо!
  2. Подскажите, где ошибка? Я тут решила чутка допилить модуль и сделать (как в записях) привязку изображений прямо в странице блога (в админке). Сразу поясню на тот случай, если у кого-то возникнет вполне резонный вопрос, чем тебе, милая, галерея не угодила? Дело в том, что функция привязки и вывода изображений через галереи (blog_galley_images) для меня не очень удобна. У меня блоги играют роль страниц об авторах и художниках: поле description содержит биографию, привязанные записи - статьи. И всё отлично и удобно, но не хватает примеров иллюстраций художников. Через функцию галереи у меня возникает жуткая каша в записях, так как информации очень много да и приходится туда-сюда всё время лазить. Так что когда прямо в блоге привязка есть - так удобнее вносить всю информацию об авторе/художнике сразу. вот пример как выглядит страница, чтоб нагляднее было: http://книгидетства....les/pertzov_vv/ Суть проблемы: в админке всё отлично работает, в таблицу файлы прописываются. А вот в блоге не выводятся :( :( Если кому-нибудь не сложно - ткните носом в ошибку, пусть даже она глупая, я только учусь в этом разбираться... прописала всё так: в catalog/controller/record/blog.php в куске public function index перед if ($blog_info['design'] != '') { $this->load->model('tool/image'); if ($blog_info['image']) { $this->data['popup'] = '/image/' . $blog_info['image']; } else { $this->data['popup'] = ''; } if ($blog_info['image']) { $this->data['thumb'] = $this->model_tool_image->resize($blog_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')); } else { $this->data['thumb'] = ''; } $this->data['images'] = array(); $results = $this->model_catalog_blog->getBlogImages($this->request->get['blog_id']); foreach ($results as $result) { $this->data['images'][] = array( 'popup' => '/image/' . $result['image'], 'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')) ); } в catalog/model/catalog/blog.php запрос к таблице в БД: public function getBlogImages($blog_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "blog_image WHERE blog_id = '" . (int) $blog_id . "' ORDER BY sort_order ASC"); return $query->rows; } в catalog/view/theme/default/template/record/blog/tpl вывод изображений: <?php if ($images) { ?> <?php if ($images) { ?> <div class="image-additional"> <?php foreach ($images as $image) { ?> <a href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>" class="imagebox" rel="imagebox"><img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a> <?php } ?> </div> <?php } ?> <?php } ?> + скрипты: <?php echo $content_bottom; ?></div> <?php if ($imagebox=='colorbox') { ?> <script type="text/javascript"> $('.imagebox').colorbox({ overlayClose: true, opacity: 0.5 }); </script> <?php } ?> <?php if ($imagebox=='fancybox') { ?> <script type="text/javascript"> $('.imagebox').fancybox({ cyclic: false, autoDimensions: true, autoScale: false, 'onComplete' : function(){ $.fancybox.resize(); } }); </script> <?php } ?>
  3. ооо! и вам спасибо))пошла ковырять дальше))удачи!
  4. Спасибо за отличный модуль! Приспособила его под свою библиотеку детских книг, давно искала вариант делать страницы про художников и авторов с привязками к товарам, статьям, галереям и загрузкам. Ваш подошёл идеально. Я его под себя чуть подпилила, конечно. В связи с этим есть маааленький вопрос-просьба: заголовок блога у меня в данном случае является фамилией автора/художника. чтобы выводить имя отчество, я сделала доп.поле по аналогии с полем-названием блога (мне так нужно для разных вариантов выведения: сначала ИО, потом фамилия и наоборот - в разных случаях). затык у меня с запросом к БД. мне нужно, чтобы при запросе к БД переменная name выводилась как слияние полей ioname + name и как name + ioname - т.е. в разных вариантах: для хлебных крошек, заголовка блога, названия блога в модулях если я правильно понимаю, для модуля эту задачу решает следующий кусок кода в catalog/model/catalog/blog.php if (!isset($path[$blog_id])) { $max_level = 10; $sql = "SELECT td.name as name, CONCAT_WS('_'"; for ($i = $max_level - 1; $i >= 0; --$i) { $sql .= ",t$i.blog_id"; } $sql .= ") AS path FROM " . DB_PREFIX . "blog t0"; for ($i = 1; $i < $max_level; ++$i) { $sql .= " LEFT JOIN " . DB_PREFIX . "blog t$i ON (t$i.blog_id = t" . ($i - 1) . ".parent_id)"; } $sql .= "LEFT JOIN " . DB_PREFIX . "blog_description td ON ( td.blog_id = t0.blog_id )"; $sql .= " WHERE t0.blog_id = '" . $blog_id . "'"; $query = $this->db->query($sql); $path[$blog_id]['path'] = $query->num_rows ? $query->row['path'] : false; $path[$blog_id]['name'] = $query->num_rows ? $query->row['name'] : false; $path[$blog_id]['ioname'] = $query->num_rows ? $query->row['ioname'] : false; $this->cache->set('blog.blogs', $path); } каюсь, sql знаю хреново. подскажите, как мне правильно прописать код и то ли место я определила. ну или хотя бы похожий пример объединения полей в одно при запросе к БД дайте ))плииииз! И ещё раз - спасибо за модуль. Работа сделана гигантская, стоит своих денег хотя бы потому, что этот модуль сэкономил мне кучу времени (и нервов!), чтобы написать это ручками с нуля. А тут стооолько возможностей))
  5. По умолчанию в OpenCart установлено ограничение на загрузку изображений с размером файла больше 300Кб и разрешением больше чем 1000 на 1000 пикселей. Но, нас это не устраивает. Так что поправим некоторые модули в админке. Изменения в файлах Для снятия ограничения на размер файла изменим контроллер admin/controller/common/filemanager.php Находим строки: if ($this->request->files['image']['size'] > 300000) { $json['error'] = $this->language->get('error_file_size'); } и изменяем в них значение 300000, а это именно размер в байтах, на то, который нам нужен «в байтах». В моём случае это 5Мб = 5242880 байт. Теперь код выглядит вот так: if ($this->request->files['image']['size'] > 5242880) { $json['error'] = $this->language->get('error_file_size'); } Для снятия ограничения на размер изображения 1000 на 1000 пикселей (в последних версия Opencart не актуально, там уже это ограничение отсутствует) if (!isset($json['error'])) { if(substr($this->request->files['image']['type'],0,5)=='image'){ $imageinfo = getimagesize($this->request->files['image']['tmp_name']); if($imageinfo[0]>1000 || $imageinfo[1]>1000){ exec('convert -colorspace RGB "'.$this->request->files['image']['tmp_name'].'" -resize 1000x1000 "'.$this->request->files['image']['tmp_name'].'"'); } } if (@move_uploaded_file($this->request->files['image']['tmp_name'], $directory . '/' . basename($this->request->files['image']['name']))) { $json['success'] = $this->language->get('text_uploaded'); } else { $json['error'] = $this->language->get('error_uploaded'); } } изменяем значения $imageinfo[0]>1000 || $imageinfo[1]>1000 на нужные. источник: http://itheap.info/blog/opencart/80.html
  6. аналогичная проблема - в админке выводит сдвоеную инфу (два раза повторяет форму) после того как добавила поле (такие поля добавляла и раньше, но глюков не было), в чем может быть проблема? UPD. У себя нашла в итоге. Сайт у меня только на русском, и я убрала вкладку english в форме внесения продуктов. но если не удалить english в настройках, начинают генериться в БД копии по продукту, но с laguage_id = не только русским, но и английским (у меня был русский id=1, а английский =3). соответственно, форма начала выводить всё в удвоенном виде. пришлось удалять язык в настройках админки и дубли из таблицы в БД с id английского языка. рада, если кому тоже поможет. всё ж лучше, чем заново переустанавливать :) а то думала - рехнусь - вс перетряхнула раз по двадцать, даже назад откатила бэкапы :)
  7. bochicca

    Вход по openid vkontakte.ru

    Секретный ключ и ID надо использовать при безоасной авторизации token. Вот цитата с сайта loginza: Проверка ключа token через Loginza.API Чтобы проверить переданное в POST запросе значение переменной token на валидность и узнать результат авторизации пользователя, нужно сделать запрос по адресу: http://loginza.ru/api/authinfo?token=[TOKEN_KEY_VALUE]&id=[WIDGET_ID]&sig=[API_SIGNATURE] Где, [TOKEN_KEY_VALUE] - проверяемое значение token; [WIDGET_ID] - ID виджета; [API_SIGNATURE] - подпись запроса к API. Расчитывается как MD5 от сложения строк значения token и секретного ключа виджета. Пример: md5(token+skey). ВНИМАНИЕ: Для наибольшей безопасности авторизации обязательно используйте передачу параметров id и sig при проверке token. Активируйте режим безопасной проверки token в настройках виджета (см. Мой виджет Loginza). я так понимаю, что вот эту ссылку http-~~-//loginza.ru/api/authinfo?token=[TOKEN_KEY_VALUE]&id=[WIDGET_ID]&sig=[API_SIGNATURE] с указанием кода и ID своих надо вставить в форму авторизации каким-то образом, то есть куда-то сюда внутрь: <!-- loginza --> <div style="clear: both;"></div> <h2><?php echo $text_enter_with_loginza; ?></h2> <div style="padding: 0 213px; border-top: 1px solid #eee;"> <script src="http-~~-//loginza.ru/js/widget.js" type="text/javascript"></script> <iframe src="http-~~-//loginza.ru/api/widget?overlay=loginza&token_url=<? echo $action_loginza; ?>" style="width:359px;height:300px;" scrolling="no" frameborder="no"></iframe> </div> <!-- loginza --> Кто подскажет - как именно?
  8. bochicca

    Журнал ошибок

    Похоже никто и ничем, на мои вопросы тоже ноль реакции. Сорри, что не могу помочь
  9. Нужна помощь, как вывести в шаблоне catalog-view-theme-тема-product-product.tpl доп.поля. Я сделала схему, по которой можно в админке к продукту добавить не только простые текстовые поля, но выпадающие меню с вариантами + к ним подразделы в меню админки, в которых можно вводить значения. Выглядит это аналогично списку стран или списку статусов товара. Вот пример: 1) как выглядит в меню 2) список вариантов 3) форма вненсения варианта 4) как выглядит в форме внесения товара Схема в приаттаченном файле АДМИНКА, дополнительные выпадающие поля продукта - С НУЛЯ.txt. В чем, собственно, затык, для примера, в MySQL таблице product создано поле zhanr_id, хранящее id, + две отдельные таблицы zhanr и zhanr_to_store. Собственно, в таблице zhanr и прописано соответствие zhanr_id конкретному полю (name). Не могу понять, что мне нужно прописать в: 1) catalog-controller-product-product.php 2) catalog-model-catalog-product.php чтобы в catalog-view-template-тема-template-product-product.tpl, к примеру, код: <?php echo $text_zhanr; ?> <?php echo $zhanr; ?> выводил такое: ЖАНР: сказка (ясное дело, тот жанр, который был указан в поле товара/книги), то есть через zhanr_id обращался к таблице zhanr и вытаскивал оттуда нужную строку. Сейчас у меня так прописано: в catalog-controller-product-product.php $this->data['text_zhanr'] = $this->language->get('text_zhanr'); $this->data['zhanr'] = $product_info['zhanr']; в catalog-model-catalog-product.php в строке $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, после stock_status добавлено: (SELECT ss.name FROM " . DB_PREFIX . "zhanr ss WHERE ss.zhanr_id = p.zhanr_id) AS zhanr, в catalog-language-russian-product-product.php добавлено: $_['text_zhanr'] = 'ЖАНР:'; но нифига не выводит кроме слова "ЖАНР:", какой именно жанр - не показывает. Ткните носом, где ошибка! Уже по аналогии всё перерыла не вижу :( в программировании пока еще профан
  10. О том, есть ли кто-нибудь, хоть иногда отвечающий на вопросы тут?

  11. bochicca

    Дополнительные поля продукта

    Сделала на том, что уже было и надеюсь, мой глас вопиющего в сей форумной пустыне всё же не останется без ответа. Очень нужна схема, как создавать в админке раздел, аналогичный спискам стран, производителей и т.п. Ну или хотя бы не схему, как здесь, а просто список файлов, в которых копать. Поясню, что по определенным причинам (суть неважны) меня не устраивают ни опции, ни атрибуты.
  12. bochicca

    Дополнительные поля продукта

    Эх... делюсь. ДОПОЛНИТЕЛЬНЫЕ ВЫПАДАЮЩИЕ ПОЛЯ ПРОДУКТА (СТРАНА) Мне понадобилось добавить в описание продукта выпадающее меню СТРАНЫ, благо всё, что нужно, уже есть в админке. Делала по аналогии с полем производителя (manufacturer) и полем "страны" (country) в "Система>Локализация>Географические зоны", где форма создания геозоны (там как раз есть нужная выпадающая менюшка со списком стран). 1) Добавляем в БД в таблицу product столбец country_id: ALTER TABLE `product` ADD `country_id` int(64) NOT NULL; В этом столбце будет прописываться/фиксироваться за продуктом номер страны, прописанный в таблице country. 2) в /admin/model/catalog/product.php ищем строку this->db->query("INSERT INTO " . DB_PREFIX . "product SET и в ней после manufacturer_id = '" . (int)$data['manufacturer_id'] . "', добавляем country_id = '" . (int)$data['country_id'] . "', далее в том же файле правим запрос обновления продукта - находим строку: $this->db->query("UPDATE " . DB_PREFIX . "product SET и снова в ней после manufacturer_id = '" . (int)$data['manufacturer_id'] . "', добавляем country_id = '" . (int)$data['country_id'] . "', в том же файле находим блок: public function getTotalProductsByManufacturerId($manufacturer_id) { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "product WHERE manufacturer_id = '" . (int)$manufacturer_id . "'"); return $query->row['total']; } и после него добавляем такой же, но ВЕЗДЕ в нём слово manufacturer заменяем на слово country (обратите внимание, что и здесь тоже: getTotalProductsByCountryId) public function getTotalProductsByCountryId($country_id) { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "product WHERE country_id = '" . (int)$country_id . "'"); return $query->row['total']; } 3) в /admin/controller/catalog/product.php. находим $this->data['text_manufacturer'] = $this->language->get('text_manufacturer'); и после неё добавляем: $this->data['text_country'] = $this->language->get('text_country'); далее в том же файле находим: $this->data['entry_manufacturer'] = $this->language->get('entry_manufacturer'); и после этой строки добавляем: $this->data['entry_country'] = $this->language->get('entry_country'); И самое главное в том же файле - ищем блок: $this->load->model('catalog/manufacturer'); $this->data['manufacturers'] = $this->model_catalog_manufacturer->getManufacturers(); if (isset($this->request->post['manufacturer_id'])) { $this->data['manufacturer_id'] = $this->request->post['manufacturer_id']; } elseif (!empty($product_info)) { $this->data['manufacturer_id'] = $product_info['manufacturer_id']; } else { $this->data['manufacturer_id'] = 0; } и после него добавляем: $this->load->model('localisation/country'); $this->data['countries'] = $this->model_localisation_country->getCountries(); if (isset($this->request->post['country_id'])) { $this->data['country_id'] = $this->request->post['country_id']; } elseif (!empty($product_info)) { $this->data['country_id'] = $product_info['country_id']; } else { $this->data['country_id'] = 0; } обратите внимание, что в первой же строке идет ссылка на список стран в админке. 4) Теперь добавляем наше выпадающее поле в форму продукта в админке. Открываем /admin/view/template/catalog/product_form.tpl В нужном месте и вкладке добавляем строку в таблицу: <!-- страна --> <tr> <td><?php echo $entry_country; ?></td> <td> <select name="country_id"> <option value="0" selected="selected"><?php echo $text_none; ?></option> <?php foreach ($countries as $country) { ?> <?php if ($country['country_id'] == $country_id) { ?> <option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option> <?php } else { ?> <option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option> <?php } ?> <?php } ?> </select> </td> </tr> 5) Прописываем отображение заголовка поля В файле /admin/language/russian/catalog/product.php указываем: $_['entry_country'] = 'Страна производителя<span class="required">*</span>'; Первая строка выводит заголовок поля, вторая - комментарий к нему под полем выбора. Всё! Проверяем наличие поля в админке, в полях продукта и тестируем на заполнение и сохранение. Как выводить поле покупателю, было написано в первом посте темы. За пост отдельное спасибо, по нему всё и искала))
  13. bochicca

    Дополнительные поля продукта

    Люди, может видел кто решение по доп.полям - мне нужны выпадающие списком поля в админке с вариантами. Ну, или хотя бы, подскажите, в каких файлах добавлять/править, там уже по коду разберусь
  14. Собственно, вопроса два: 1) в выпадающем подменю как убрать скобки у количества товара? - где они прописаны? 2) в горизонтальном меню у родительских категорий в header как настроить, чтобы отображалось общее количество товара? - что и куда добавить? сорри, если тема была на форуме, поиск ничего не дал, увы
  15. идея отличная, обдумаю))вот только у клиента в личке в истории начисления баллов будет отображаться, а э то по-любому вопросы и неприятные эмоции
  16. очень неудобно, что модуль можно оплатить только через веб-мани :( меня сумма не пугает, сделайте возможность платить банковской картой или через интернет-банк, пожалуйста!
  17. Люди, подскажите, где изменить формат вывода адреса доставки, отображающийся в заказе клиента (там, где таблица - заказ№..., дата: .... и т.д. ест ь в том числе 2 поля - адрес плательщика и адрес доставки). Для общего списка адресов доставки я нашла где править - в админке через Локализацию - Страна - Страна по умолчанию и там есть специальное поле, где можно задать формат. А этот где? В админке? Ручками в файлах? Заранее спасибо :)
  18. еще б знать, как это делается)я не настолько продвинутый пользователь пока. использовать похожие решения умею, сама пока пас. конкретнее подскажете?
  19. Люди, прошерстила весь форум, может, кто уже делал - в личном кабинете в разделе подписки клиент может только отметить ответ - подписаться на рассылку новостей или нет. Как можно вывести статус - подписан в данный момент клиент на новости или нет? Хотя бы намекните...
  20. Мда... в итоге разобралась сама, не понимаю, каким чудом (настырностью и досадой на отсутствие малейших подсказок);) всё же получилось! :eek: Делюсь, вдруг кто ещё захочет вывести на главной странице личного кабинета основную информацию клиента вот в таком виде: ШАГ 1. Задаём 3 таблицы (css-классы прописывайте как вам надо самим, они не из шаблона) в catalog/view/theme/default/template/account/account.tpl 1) таблица с основными контактными данными клиента <table> <tr> <!-- текст ФАМИЛИЯ --> <td width="190"><b><?php echo $entry_lastname; ?>:</b></td> <!-- вывод фамилии клиента --> <td width="260"><?php echo $lastname; ?></td> <td> </td> </tr> <tr> <!-- текст ИМЯ И ОТЧЕСТВО --> <td width="190"><b><?php echo $entry_firstname; ?>:</b></td> <!-- вывод имени отчества клиента --> <td width="260"><?php echo $firstname; ?></td> <td> </td> </tr> <tr> <!-- текст ДАТА РОЖДЕНИЯ, у меня это бывшее поле ФАКС --> <td width="190"><b><?php echo $entry_fax; ?>:</b></td> <!-- вывод даты рождения клиента --> <td width="260"><?php echo $fax; ?></td> <!-- ссылка ИЗМЕНИТЬ КОНТАКТНЫЕ ДАННЫЕ --> <td><a href="<?php echo $edit; ?>" class="account_slink"><span><?php echo $text_edit; ?></span></a></td> </tr> <tr> <!-- текст ТЕЛЕФОН --> <td width="190"><b><?php echo $entry_telephone; ?>:</b></td> <!-- вывод номера телефона клиента --> <td width="260"><?php echo $telephone; ?></td> <td> </td> </tr> <tr> <!-- текст Е-MAIL --> <td width="190"><b><?php echo $entry_email; ?>:</b></td> <!-- вывод электронного адреса клиента --> <td width="260"><?php echo $email; ?></td> <td> </td> </tr> </table> 2) таблица с внесёнными адресами доставки: <table> <tr> <!-- текст АДРЕСА ДОСТАВКИ --> <td width="190"><b><?php echo $text_shipping; ?></b></td> <td width="260"> <div style="margin:-5px 0px -10px 0px;"> <!-- вывод всех внесённых адресов клиента --> <?php foreach ($addresses as $result) { ?> <div style="padding:5px;"><?php echo $result['address']; ?></div> <?php } ?> </div> </td> <!-- ссылка ИЗМЕНИТЬ АДРЕСА ДОСТАВКИ --> <td><a href="<?php echo $address; ?>" class="account_slink"><span><?php echo $text_address; ?></a></span></td> </tr> </table> 3) таблица с бонусными баллами: <table> <tr> <!-- текст ВСЕГО БОНУСНЫХ БАЛЛОВ --> <td width="190"><b><?php echo $text_rewards_total; ?>:</b></td> <!-- вывод итоговой суммы клиентских ББ --> <td width="260"><?php echo $total; ?></td> <td><a href="<?php echo $reward; ?>" class="account_slink"> <!-- ссылка ИСТОРИЯ ББ --> <span><?php echo $text_reward; ?></span></a> </td> </tr> </table> ШАГ 2. Код вывода адресов доставки клиента (из-за чего, собственно, и парилась), прописываем в catalog/controller/account/account.php 1) после строки 8, где $this->language->load('account/account'); вписываем $this->load->model('account/address'); $this->getList(); 2) между $this->response->setOutput($this->render()); } и 2-мя последними строками } ?> вписываем (сорри, если там что лишнее попало);) private function getList() { $this->data['addresses'] = array(); $results = $this->model_account_address->getAddresses(); foreach ($results as $result) { if ($result['address_format']) { $format = $result['address_format']; } else { $format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}'; } $find = array( '{firstname}', '{lastname}', '{company}', '{address_1}', '{address_2}', '{city}', '{postcode}', '{zone}', '{zone_code}', '{country}' ); $replace = array( 'firstname' => $result['firstname'], 'lastname' => $result['lastname'], 'company' => $result['company'], 'address_1' => $result['address_1'], 'address_2' => $result['address_2'], 'city' => $result['city'], 'postcode' => $result['postcode'], 'zone' => $result['zone'], 'zone_code' => $result['zone_code'], 'country' => $result['country'] ); $this->data['addresses'][] = array( 'address_id' => $result['address_id'], 'address' => str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format)))), 'update' => $this->url->link('account/account/update', 'address_id=' . $result['address_id'], 'SSL'), 'delete' => $this->url->link('account/account/delete', 'address_id=' . $result['address_id'], 'SSL') ); } } 3) в том же файле прописываем вывод всех переменных - всё, кроме адресов доставки, которые мы уже прописали ранее. Итак, после: if (isset($this->session->data['success'])) { $this->data['success'] = $this->session->data['success']; unset($this->session->data['success']); } else { $this->data['success'] = ''; } $this->data['heading_title'] = $this->language->get('heading_title'); $this->data['text_my_account'] = $this->language->get('text_my_account'); $this->data['text_my_profile'] = $this->language->get('text_my_profile'); $this->data['text_my_orders'] = $this->language->get('text_my_orders'); $this->data['text_my_newsletter'] = $this->language->get('text_my_newsletter'); $this->data['text_edit'] = $this->language->get('text_edit'); $this->data['text_password'] = $this->language->get('text_password'); $this->data['text_address'] = $this->language->get('text_address'); $this->data['text_wishlist'] = $this->language->get('text_wishlist'); $this->data['text_order'] = $this->language->get('text_order'); $this->data['text_download'] = $this->language->get('text_download'); $this->data['text_reward'] = $this->language->get('text_reward'); $this->data['text_return'] = $this->language->get('text_return'); $this->data['text_transaction'] = $this->language->get('text_transaction'); $this->data['text_newsletter'] = $this->language->get('text_newsletter'); вставляем: $this->data['entry_firstname'] = $this->language->get('entry_firstname'); $this->data['entry_lastname'] = $this->language->get('entry_lastname'); $this->data['entry_email'] = $this->language->get('entry_email'); $this->data['entry_telephone'] = $this->language->get('entry_telephone'); $this->data['entry_fax'] = $this->language->get('entry_fax'); $this->data['text_shipping'] = $this->language->get('text_shipping'); $this->data['text_rewards_total'] = $this->language->get('text_rewards_total'); $this->data['firstname'] = $this->customer->getFirstName(); $this->data['lastname'] = $this->customer->getLastName(); $this->data['email'] = $this->customer->getEmail(); $this->data['telephone'] = $this->customer->getTelephone(); $this->data['fax'] = $this->customer->getFax(); $this->data['total'] = $this->customer->getRewardPoints(); Это у нас выводятся тексты-заголовки в таблицах (по-порядку см.: Имя и отчество, Фамилия, Е-mail, Телефон, Дата рождения, Адреса доставки, Итого бонусных баллов), а также во второй части этого списка прописан вывод данных клиента. Я все писала через переменные, поскольку у меня сайт на двух языках. Соответственно, теперь надо заложить вывод текстов заголовков на русском и английском языках. ШАГ 3. Лезем в языковые файлы: catalog/language/english/account/account.php и catalog/language/russian/account/account.php и добавляем в английский: $_['text_rewards_total'] = 'Reward points total'; $_['text_shipping'] = 'Shipping adresses'; // Entry $_['entry_firstname'] = 'First Name'; $_['entry_lastname'] = 'Last Name'; $_['entry_email'] = 'E-mail'; $_['entry_telephone'] = 'Telephone'; $_['entry_fax'] = 'Date of Birth'; и в русский: $_['text_rewards_total'] = 'Всего бонусных баллов'; $_['text_shipping'] = 'Адреса доставки'; // Entry $_['entry_firstname'] = 'Имя и отчество'; $_['entry_lastname'] = 'Фамилия'; $_['entry_email'] = 'E-mail'; $_['entry_telephone'] = 'Телефон'; $_['entry_fax'] = 'Дата рождения'; Вуаля! :) Рада, если кому понадобилось :)
  21. Люди, хочу вывести на странице, куда клиент попадает после входа в ЛК, в том числе, внесённые адреса доставки. Они отображаются на странице, где их можно редактировать. Там оно выглядит так: выводится таким кодом: <?php echo $result['address']; ?> Хочу вывести здесь: Понимаю, что для этого в controller/account/account.php надо прописать код вывода. С простыми вещами вроде имени, фамилии, мэйла всё понятно, я их выводила через такой код: $this->data['firstname'] = $this->customer->getFirstName(); А вот как вывести адреса доставки? что надо добавить в controller/account/account.php, чтобы выводилась $result['address']; ??? Подскажите, плз!
  22. спасибо за подсказку! я вставила чуть иначе и, наверное, проще. Поскольку у меня приветствие-вход в шапке сайта, то я просто изменила строки в языковых файлах в catalog-language-russian-common-header.php строка выглядит так: $_['text_logged'] = '<SCRIPT LANGUAGE="JavaScript"> var h=(new Date()).getHours(); if (h > 3 && h < 12) document.writeln("Доброе утро, ");if (h > 11 && h < 19) document.writeln("День добрый, "); if (h > 18 && h < 24) document. writeln("Добрый вечер, ");if (h > 23 || h < 4 ) document.writeln("Доброй ночи, ") ;</SCRIPT> <a href="%s">%s</a> :) | <a href="%s">Выйти</a>'; И выводит в хэдере днём, к примеру, текст: "Доброе утро, Марина Ивановна :) | Выйти" ну и для английского, соответственно в catalog-language-english-common-header.php будет так: $_['text_logged'] = '<SCRIPT LANGUAGE="JavaScript"> var h=(new Date()).getHours(); if (h > 3 && h < 12) document.writeln("Good morning, ");if (h > 11 && h < 19) document.writeln("Good day, "); if (h > 18 && h < 24) document. writeln("Good evening, ");if (h > 23 || h < 4 ) document.writeln("Good night, ") ;</SCRIPT> <a href="%s">%s</a> :) | <a href="%s">Logout</a>'; К примеру, вечером: "Good evening, Марина Ивановна :) | Logout" Можно так же поиграться и с $text_welcome, в принципе, для гостей сайта.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.