Перейти к содержанию
Официальный форум поддержки Simpla

Andrey Terkin

Фрилансер
  • Публикаций

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

  • Посещение

Весь контент Andrey Terkin

  1. Согласен Ну быстренько, поэтому и кривенько( Но это не трагично, на то она и главная страница)
  2. в шаблоне где то делаем кнопку <a href="?clear_browsed=1">очистить просмотренные товары</a> А в файле index.php, после session_start(); ,который лежит в корне сайта добавляем код if (!empty($_GET['clear_browsed'])) { setcookie('browsed_products', null); header('Location: /'); }
  3. Файл выложить у меня не вышло, поэтому помещаю код файла api/Cart.php с изменениями сюда <?php /** * Simpla CMS * * @copyright 2011 Denis Pikusov * @link http://simplacms.ru * @author Denis Pikusov * */ require_once('Simpla.php'); class Cart extends Simpla { /** * Корзина в формате $variant_id => $amount * @var array */ private $shopping_cart; /** * Период хранения корзины * @var integer */ private $save_period = 7; public function __construct() { parent::__construct()
  4. 3. Далее нам необходимо пройтись по всему файлу, и заменить обращения к сессионной корзине на обращение к свойству класса Cart::$shopping_cart и сохранение значений в сессии на сохранение значений в куках 3.1 Заменяем проверку на пустоту в сессионной корзине на проверку нашего свойства {Cart::get_cart()}: Было: if(!empty($_SESSION['shopping_cart'])) Стало: if(!empty($this->shopping_cart)) Было: $session_items = $_SESSION['shopping_cart']; Стало: $session_items = $this->shopping_cart; 3.2 Добавлять товары в корзину тоже нужно будет несколько иначе { Cart::add_item() }. Зам
  5. 2. Добавим конструктор в наш класс в котором мы получим содержимое нашей корзины из кук, а также сразу пересчитаем наш период из дней в секунды public function __construct() { parent::__construct(); $this->shopping_cart = empty($_COOKIE['shopping_cart']) ? array() : unserialize($_COOKIE['shopping_cart']); $this->save_period *= 24*3600; }
  6. По сути сессионная корзина, в стандартной симпле, используется только в одном файле - это api/Cart.php. То есть стоит нам просто изменить логику хранения корзины в этом файле и проблема будет решена. Не забудьте сделать себе копию старого файла Cart.php Итак приступим. 1. Нам понадобится два свойства: - $shopping_cart - для хранения корзины в классе - $save_period - в ней будет период в днях хранения корзины Объявим наши свойства в классе и для свойства Cart::$save_period зададим значение, у примеру 7 дней class Cart extends Simpla { /** * Корзина в формате $variant_id =&
  7. 100 + 2% - 2% = 99.96 Думаю проблема где то здесь
  8. Так я писал, сообщение прочитано 24,09 но осталось без ответа.
  9. Уже переписал в личку почти всем админам и модераторам. Кто не отвечает а кто говорит что не может. Как мне перейти в группу фрилансеры??? Вот моя тема в исполнителях http://forum.simplacms.ru/topic/10189-andreyterkin/
  10. {$product->variants[0]->name} Где цифра в квадратных скобках порядковый номер варианта начиная с нуля
  11. Посмотрите FeedbackView.php // Ловите данные из формы и создаете обьект $feedback = new StdClass(); $feedback->name = ''; $feedback->email = ''; $feedback->message = $this->request->post('phone'); // здесь ловите ваш телефон из формы $feedback->ip = $_SERVER['REMOTE_ADDR']; // Создаете в базе запись и получаете её id $feedback_id = $this->feedbacks->add_feedback($feedback); // Отправляете письмо $this->notify->email_feedback_admin($feedback_id); Но соответственно не забудьте проверить поле телефон из формы. И в принципе можно писать телефон например в поле ema
  12. Выполню любые доработки по симпле, недорого и качественно. Написание модулей, натяжка шаблонов и т.д. Скайп для связи andreyterkin
  13. Да действительно, поспешил с выводами, просто только что правил этот файл на сайте, а там вместо $simpla -> $main Немного подзапутался
  14. Так как ключ массива корзины это число, то соответственно происходит сортировка по id вариантов. Попробуйте сделать ключ не числом а строкой, например добавив перед id варианта какую то букву, и все должно работать так как вам нужно. Для этого потребуются совсем небольшие изменения в файле api/Cart.php
  15. {if $category} ... {elseif $brand} → <a href="ссылка на страницу">Бренды</a> → <a href="brands/{$brand->url}">{$brand->name|escape}</a> {elseif $keyword} → Поиск {/if}
  16. А в чем для вас заключается невозможность? И почему , по вашему это очень не хорошо? В index.php ловим гет запрос и помещаем его в сессию if (isset($_GET['theme'])) $_SESSION['theme'] = $_GET['theme']; А в api/Settings.php в конструкторе подменяем значение темы в массиве if (isset($_SESSION['theme']) && file_exists($this->config->root_dir . '/design/' . $_SESSION['theme'])) $this->vars['theme'] = $_SESSION['theme'];
  17. Ну наверное потому что обращаетесь вы к теме в как $this->settings->theme , соответственно и менять нужно ее там, что бы в дальнейшем не возникало недоразумений если кому то понадобится получить название темы из другого места
  18. А почему он должен меняться во View.php ? Логичнее его менять в Settings.php
  19. У вас в папке ajax есть файл cart_update.php Так вот в этом файле неправильно указан путь к классу Simpla , там сейчас стоит require_once(api/Simpla.php) а нужно require_once('../api/Simpla.php');
  20. Делаете цену равную 1 и в поле покупатель будет писать количество. Переделывать практически ничего не нужно. Если нет необходимости в дробных числах то нужно просто в форму товара добавить поле <input type="text" name="amount" /> И в файле ajax_cart.js принять этот параметр amount = $(this).find('[name=amount]').val(); и передать его в скрипт ajax/cart.php data: {variant: variant, amount: amount},
  21. Поисковик google регион Украина запрос например купить сабвуферы 2 позиция, не считая рекламы, симпла
×
×
  • Создать...