Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

bochicca

Користувачі
  
  • Публікації

    50
  • З нами

  • Відвідування

Усі публікації користувача bochicca

  1. Подскажите, где ошибка? Я тут решила чутка допилить модуль и сделать (как в записях) привязку изображений прямо в странице блога (в админке). Сразу поясню на тот случай, если у кого-то возникнет вполне резонный вопрос, чем тебе, милая, галерея не угодила? Дело в том, что функция привязки и вывода изображений через галереи (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 } ?>
  2. Спасибо за отличный модуль! Приспособила его под свою библиотеку детских книг, давно искала вариант делать страницы про художников и авторов с привязками к товарам, статьям, галереям и загрузкам. Ваш подошёл идеально. Я его под себя чуть подпилила, конечно. В связи с этим есть маааленький вопрос-просьба: заголовок блога у меня в данном случае является фамилией автора/художника. чтобы выводить имя отчество, я сделала доп.поле по аналогии с полем-названием блога (мне так нужно для разных вариантов выведения: сначала ИО, потом фамилия и наоборот - в разных случаях). затык у меня с запросом к БД. мне нужно, чтобы при запросе к БД переменная 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 знаю хреново. подскажите, как мне правильно прописать код и то ли место я определила. ну или хотя бы похожий пример объединения полей в одно при запросе к БД дайте ))плииииз! И ещё раз - спасибо за модуль. Работа сделана гигантская, стоит своих денег хотя бы потому, что этот модуль сэкономил мне кучу времени (и нервов!), чтобы написать это ручками с нуля. А тут стооолько возможностей))
  3. По умолчанию в 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
  4. аналогичная проблема - в админке выводит сдвоеную инфу (два раза повторяет форму) после того как добавила поле (такие поля добавляла и раньше, но глюков не было), в чем может быть проблема? UPD. У себя нашла в итоге. Сайт у меня только на русском, и я убрала вкладку english в форме внесения продуктов. но если не удалить english в настройках, начинают генериться в БД копии по продукту, но с laguage_id = не только русским, но и английским (у меня был русский id=1, а английский =3). соответственно, форма начала выводить всё в удвоенном виде. пришлось удалять язык в настройках админки и дубли из таблицы в БД с id английского языка. рада, если кому тоже поможет. всё ж лучше, чем заново переустанавливать :) а то думала - рехнусь - вс перетряхнула раз по двадцать, даже назад откатила бэкапы :)
  5. Секретный ключ и 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 --> Кто подскажет - как именно?
  6. Похоже никто и ничем, на мои вопросы тоже ноль реакции. Сорри, что не могу помочь
  7. Нужна помощь, как вывести в шаблоне 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'] = 'ЖАНР:'; но нифига не выводит кроме слова "ЖАНР:", какой именно жанр - не показывает. Ткните носом, где ошибка! Уже по аналогии всё перерыла не вижу :( в программировании пока еще профан
  8. О том, есть ли кто-нибудь, хоть иногда отвечающий на вопросы тут?

  9. Сделала на том, что уже было и надеюсь, мой глас вопиющего в сей форумной пустыне всё же не останется без ответа. Очень нужна схема, как создавать в админке раздел, аналогичный спискам стран, производителей и т.п. Ну или хотя бы не схему, как здесь, а просто список файлов, в которых копать. Поясню, что по определенным причинам (суть неважны) меня не устраивают ни опции, ни атрибуты.
  10. Эх... делюсь. ДОПОЛНИТЕЛЬНЫЕ ВЫПАДАЮЩИЕ ПОЛЯ ПРОДУКТА (СТРАНА) Мне понадобилось добавить в описание продукта выпадающее меню СТРАНЫ, благо всё, что нужно, уже есть в админке. Делала по аналогии с полем производителя (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>'; Первая строка выводит заголовок поля, вторая - комментарий к нему под полем выбора. Всё! Проверяем наличие поля в админке, в полях продукта и тестируем на заполнение и сохранение. Как выводить поле покупателю, было написано в первом посте темы. За пост отдельное спасибо, по нему всё и искала))
  11. Люди, может видел кто решение по доп.полям - мне нужны выпадающие списком поля в админке с вариантами. Ну, или хотя бы, подскажите, в каких файлах добавлять/править, там уже по коду разберусь
  12. Собственно, вопроса два: 1) в выпадающем подменю как убрать скобки у количества товара? - где они прописаны? 2) в горизонтальном меню у родительских категорий в header как настроить, чтобы отображалось общее количество товара? - что и куда добавить? сорри, если тема была на форуме, поиск ничего не дал, увы
  13. идея отличная, обдумаю))вот только у клиента в личке в истории начисления баллов будет отображаться, а э то по-любому вопросы и неприятные эмоции
  14. очень неудобно, что модуль можно оплатить только через веб-мани :( меня сумма не пугает, сделайте возможность платить банковской картой или через интернет-банк, пожалуйста!
  15. Люди, подскажите, где изменить формат вывода адреса доставки, отображающийся в заказе клиента (там, где таблица - заказ№..., дата: .... и т.д. ест ь в том числе 2 поля - адрес плательщика и адрес доставки). Для общего списка адресов доставки я нашла где править - в админке через Локализацию - Страна - Страна по умолчанию и там есть специальное поле, где можно задать формат. А этот где? В админке? Ручками в файлах? Заранее спасибо :)
  16. еще б знать, как это делается)я не настолько продвинутый пользователь пока. использовать похожие решения умею, сама пока пас. конкретнее подскажете?
  17. Люди, прошерстила весь форум, может, кто уже делал - в личном кабинете в разделе подписки клиент может только отметить ответ - подписаться на рассылку новостей или нет. Как можно вывести статус - подписан в данный момент клиент на новости или нет? Хотя бы намекните...
  18. Мда... в итоге разобралась сама, не понимаю, каким чудом (настырностью и досадой на отсутствие малейших подсказок);) всё же получилось! :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'] = 'Дата рождения'; Вуаля! :) Рада, если кому понадобилось :)
  19. Люди, хочу вывести на странице, куда клиент попадает после входа в ЛК, в том числе, внесённые адреса доставки. Они отображаются на странице, где их можно редактировать. Там оно выглядит так: выводится таким кодом: <?php echo $result['address']; ?> Хочу вывести здесь: Понимаю, что для этого в controller/account/account.php надо прописать код вывода. С простыми вещами вроде имени, фамилии, мэйла всё понятно, я их выводила через такой код: $this->data['firstname'] = $this->customer->getFirstName(); А вот как вывести адреса доставки? что надо добавить в controller/account/account.php, чтобы выводилась $result['address']; ??? Подскажите, плз!
  20. спасибо за подсказку! я вставила чуть иначе и, наверное, проще. Поскольку у меня приветствие-вход в шапке сайта, то я просто изменила строки в языковых файлах в 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, в принципе, для гостей сайта.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.