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

alexivchenko

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

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

Сообщения, опубликованные alexivchenko

  1. Приветствую!

    Мой ник на этом форуме взламывался дважды: был sergeevizh и стал alexivchenko.

    Меня зовут: Кирилл 

    Я из города Орёл, проживаю в Москве. Помогаю по любым вопросам. Готов выехать на встречу.

    Помогаю по Simpla, Okay, Azot, Mini,  Buyers. 

    Есть так же форум в Telegram: https://t.me/simpla2x

  2. 11 минут назад, Alex000 сказал:

    Файл product.tpl, переделок хватает, просто не думал, что для получения среза важно на какой странице он выводится. Ну как ещё подробнее, вроде простая задача для тех кто разбирается, получит нулевой и первый элемент массива. В карточке товара (product.tpl) выводятся фото товара, их может быть разное количество, нужно вывести только первую и вторую. Я не знаю как ещё подробнее описать.

     

    Распечатайте массив вариантов на странице product.tpl, найдите нужные ключи и работайте в коде с ними. Как еще подробнее описать.

  3. 5 часов назад, Alex000 сказал:

    Всем привет, код приведённый ниже выводит товары на странице товара принадлежащие этому же бренду, а как вывести товары принадлежащие этой же категории?

    
    
    
    
                    {get_products var=cat_brand_products brand_id=$product->brand_id category_id=$category->id sort='rand' in_stock=1 limit=10}
    				{if $cat_brand_products}
    					<h2>Похожие товары по бренду</h2>
    					<div class="itemslist1 row owl-carousel12 owl-theme">
    
    						{foreach $cat_brand_products as $product}
    							<div class="item_col items myitems">
    								{include file="_myproduct.tpl"}
    							</div>
    						{/foreach}
    					</div>
    				{/if}

     

    Ваш код не полный, видимо прописан еще «универсальный виджет».

    Нужны еще файлы view/View.php и api/Products.php

  4. 2 часа назад, StudioPanda сказал:

    Добрый день! Может кто-нибудь все же подскажет?

    Чтобы вывести для каждого товара:

    Берем за пример стандартный файл в корне ./yandex.php

    Ищем 

    print
    "
    <offer id='$p->variant_id' available='true'>
    <url>".$simpla->config->root_url.'/products/'.$p->url.$variant_url."</url>";

    Подставляем ниже 

    print"<adult>true</adult>";

    Чтобы получилось 

    print
    "
    <offer id='$p->variant_id' available='true'>
    <url>".$simpla->config->root_url.'/products/'.$p->url.$variant_url."</url>";
    print"<adult>true</adult>";

    И сохраняем. Теперь все продукты будут иметь элемент "adult" в фиде yandex.xml

    Дя выборки определенного товара, обращайтесь.

  5. 7 часов назад, get31 сказал:

    Правильно, но если это убрать будет нормально выводиться, НО возникает другая проблема: если в админке ставим количество бесконечно какому-то варианту, то покажет страницу product_stock.tpl (нет в наличии)

    Непонятно зачем вы дергаете вьюшку, не проще вашу манипуляцию реализовать внутри вью? 
    Стукните в личку, думаю разберёмся за час.  

  6. 1 час назад, megauser сказал:

    Да убирал прям всё, выходит окно авторизации и всё

    Через режим браузера «инкогнито» пробовали зайти в панель? Может кеш на стороне хостинга. 
     

  7. 10 минут назад, simpler сказал:

    Нужно именно доработку для самостоятельной установки, т.к. имеется несколько сайтов, и в дальнейшем может пригодится

    Могу вытащить и расписать куда и что.

  8. В 25.11.2022 в 19:04, nigga сказал:

    Дано: версия simpla 1.4

    Задача: в админке категории сделать включатель/выключатель её показа в основном дереве категорий сайта, не скрывая сам url и остальные ссылки на эту категорию.

    Подскажите в какой файл лезть и какой код вставлять?

    Вам проще обновить Simpla до последней актуальной версии, даже если там многое переделано.
    А так, новое поле в БД categories по типу enabled, в Storefront.class.php ищем вывод дерева категорий и прописываем новое поле в WHERE, так же в admin/Storefront.admin.php ищем вывод категорий, добавляем новое поле, в дизайне админа добавляем переключатель в категориях. 

  9. 3 часа назад, simpler сказал:

    Доброго времени суток!

    Ищу доработку, которую уже установил и использовал ранее на сайте, сейчас хочу на другой её установить, но не могу найти исходники.

    Суть доработки - создавать описания для связок категория + бренд.

    В админке, на странице описания категории можно добавить описание для бренда этой категории, как это выглядит - на скриншоте (заполняется тайтл, дескрипшн, тело страницы) https://ibb.co/0DrBCHm

    Помню что БД создается таблица s_category_brand

    и в шаблоне используется переменные  $category_brand

     

    Авторы доработки откликнитесь или помогите найти решение как это установить

     

    Проще выдернуть код из уже готового и перенести его на новый сайт. Если интересно, пишите, помогу.

  10. 2 часа назад, xikarx сказал:

    Изловил еще одну проблему, чтобы не создавать новой темы - спрошу здесь. Я не уверен, что связано с заменой версии Smarty, но вроде проблема появилась после обновления.

    Короче суть - при создании заказа письмо о заказе на админский email приходит с заголовком "<без темы>", до этого прихоили с заголовком "Новый заказ №ххх".

    полез разбираться. в исходниках писем наблюдаю такое 

    
    Subject: =?utf-8?B??=, 

    до этого, в Subject передавалось сообщение о номере заказа в закодированном виде, типа так:

    
    Subject: =?utf-8?B?0J3QvtCy0YvQuSDQt9Cw0LrQsNC3IOKEljQ0NzU=?=

    Вопрос - куда это вообще копать? Это вопросы к серверу, к движку, к Smarty, email-серверу? Я этой темы вообще не знаю, ни разу не сталкиваося

    какой скрипт/служба ответственны за передачу в http заголовки темы письма?

    В Гугле куча теоретической инфы о заголовках, а как и где они формируются при создании и пересылке электронных писем я не нашел. Может правильно не заню как гугла спросить...

    В файле /simpla/design/html/email_order_admin.tpl

    Находим 

    {$subject = "Новый заказ №`$order->id`" scope=parent}

    и меняем у scope parent на root 

    и так по всем файлам админки

  11. 25 минут назад, Alex000 сказал:

    Спасибо. Как я понимаю нужно в файле simpla/design/html/settings.tpl создать поля для ввода данных, в базе данных создать поля для хранения данных и в файле Simpla/SettingsAdmin.php получать эти данные. Если напишите свой комментарий который мне поможет буду благодарен.

    В БД создавать поля для хранения нет надобности, после сохранения данных в админке, поля в БД создадутся сами. 
     

    В /simpla/design/html/settings.tpl
    После 

    <div class="block">
    	<h2>Настройки сайта</h2>
    	<ul>
    		<li><label class=property>Имя сайта</label><input name="site_name" class="simpla_inp" type="text" value="{$settings->site_name|escape}" /></li>
    		<li><label class=property>Имя компании</label><input name="company_name" class="simpla_inp" type="text" value="{$settings->company_name|escape}" /></li>
    		<li><label class=property>Формат даты</label><input name="date_format" class="simpla_inp" type="text" value="{$settings->date_format|escape}" /></li>
    		<li><label class=property>Email для восстановления пароля</label><input name="admin_email" class="simpla_inp" type="text" value="{$settings->admin_email|escape}" /></li>
    	</ul>
    </div>

    Добавить

    <div class="block layer">
    	<h2>Информация в шаблоне сайта</h2>
    	<ul>
    		<li><label class=property>Телефон</label><input name="phone" class="simpla_inp" type="text" value="{$settings->phone|escape}" /></li>
    		<li><label class=property>Адрес</label><input name="address" class="simpla_inp" type="text" value="{$settings->address|escape}" /></li>
    	</ul>
    </div>

     

    В /simpla/SettingsAdmin.php

    После 

    $this->settings->admin_email = $this->request->post('admin_email');

    Добавить

    $this->settings->phone = $this->request->post('phone');
    $this->settings->address = $this->request->post('address');

     

    В любое место /design/{ВашШаблон}/html/index.tpl
     

    {$settings->phone}
    {$settings->address}

    С проверкой на заполненность полей

    {if $settings->phone}
    	{$settings->phone}
    {/if}
    {if $settings->address}
    	{$settings->address}
    {/if}

     

  12. 1 час назад, Alex000 сказал:

    Всем привет, может кто подскажет можно ли сделать, что бы пользователь через админку мог добавлять номер телефона и адрес который будет выводиться на сайте.

    Заранее всех благодарю.

    Конечно можно. 

  13. 12 часов назад, Alex000 сказал:

    Всем привет. Знаю, что много раз обсуждалась тема спама, который приходит через комментарии с сайта, все обсуждения датированы 2013 - 2017 годами. Подскажите пожалуйста самый эффективный способ защиты от спама.

    Спасибо. 

    Бороться можно через капчу на smarty. 

  14. 7 минут назад, xikarx сказал:

    Спасибо, помогло. Я еще думал про эти ссылки нопробовать не стал. Не вкуриваю эту тему в ооп. 

    Осталась одна ошибка - но уже, по всей видимости из другой оперы - 

    Warning: Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/view/View.php on line 167

    т.е. вот тут

    
    
    
    public function get_session_products_plugin($params, $smarty)
    	{
    		if(!empty($_SESSION[$params['key']]))
            {
                
                $result->key   = $params['key']; // ключ
                $result->ids   = $_SESSION[$params['key']]; // сессия
                $result->count = count($_SESSION[$params['key']]); // количество
                $smarty->assign($params['key'], $result);
    		}
    	}

    я так понимаю, попытка создать объект из пустого значения? В общем с эти что сделать? Пробовал закомментить - получаю 500 ошибку..

    Это что-то не стандартное, нужно смотреть на месте. Напишите в личные сообщения.

  15. 10 минут назад, xikarx сказал:

    Под хостинг с php7.2 решил установить Smarty 4.x в Симплу. Залил простым копированием - все вроде нормально, работает справно. Но как оказалось, после создания заказа, на страницах /order/dflvndxxxxxxxxx..  в трех местах получаю ошибки:

    Warning: Parameter 2 to View::get_session_products_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 79 

    Warning: Parameter 2 to View::get_brands_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 132

    Warning: Parameter 2 to OrderView::checkout_form() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/4270d009197103a9a5e214be39555a51b172abbd_0.file.order.tpl.php on line 286

     

    Соответственно в логах про это:

    PHP Warning:  Parameter 2 to View::get_brands_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php on line 132
    [Mon Nov 14 20:19:16.294071 2022] [php7:warn] [pid 9021] [client 5.255.253.155:51548]

    PHP Warning:  Parameter 2 to View::get_session_products_plugin() expected to be a reference, value given in /var/www/ikar/data/www/astra-omsk.ru/compiled/trizzy/26ad3e601ce79c2f0e821f49033bee73e1903f28_0.file.header.tpl.php 

    Насколько я понял - что-то связанное с условиями компилляции шаблонов, в файле View.php с функцией public function get_session_products_plugin($params, &$smarty).

    Подскажите, как чинить?

    И еще - пытался отключить показ ошибок (вроде кроме поломанного дизайна ни на что эти варнинги не влияют), но так и не смог. В самой симпле в индексном файле error_reporting  итак закомментирован, ни добавление инструкций в htaccess, ни установка error reporting - off  в php.ini на сервере - результатов не дала. Естьвообще возможность из самой cms выключить отображение ошибок?

     

    во view/View.php у функций плагинов уберите оператор &

    Было 

    public function get_browsed_products($params, &$smarty) {
    ...
    }

    Стало

    public function get_browsed_products($params, $smarty) {
    ...
    }


     

  16. 15 часов назад, shtockman сказал:

    Как вам вариант лишиться лицензии?! Я сменил домен и прощай 12 лет работы... Денис Пикусов обиделся и не разговаривает с нами..., а может и почил в бозе. Царствие небесное, но я 400 у.е. заплатил честно 12 лет назад. Алё, Денис, причём здесь я, причём здесь ты? Санкции ввёл? Алё, заместители, все без света и интернета? Пишу письма, русский забыли? Украсть решили, так нет наживы, одна подлость. Вот и считай их нормальными после этого...

    Могу помочь с решением проблемы бесплатно

  17. Вам проще отказаться от http-авторизации, а сделать авторизацию по логину и паролю из базы средствами php. 
     

    и попробуйте в /simpla/.htaccess вписать верхней части файла 

    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

     

  18. 4 часа назад, Kami сказал:

    Есть у кого мысли по поводу?

    Существуют зарезервированные символы, которые имеют зарезервированные значения, это разделители — :/?#[]@— и суб-ограничители — !$&'()*+,;=

    Существует также набор символов, называемых незарегистрированными символами — буквенно-цифровыми и -._~— которые не подлежат кодированию.

    https://habr.com/ru/post/232385/?ysclid=l8kubsbx19485130653


    https://datatracker.ietf.org/doc/html/rfc3986

  19. 3 минуты назад, Kami сказал:

    у вас симпла? а можете показать htaccess?

    дело не в htaccess, нужно смотреть на /index.php и /view/IndexView.php и /api/Request.php

    на счет слешей
     

    #Убираем лишние слеши
    RewriteCond %{REQUEST_URI} ^(.*?)\/{2,}(.*?)$
    RewriteRule . %1/%2 [L,R=301]
    RewriteCond %{THE_REQUEST} //
    RewriteRule .* /$0 [R=301,L]

     

  20. 1 час назад, volonter сказал:

    Спасибо! Но это уже отключено, не помогает, файлы кеша все равно создаются в папке compiled, и проблемы с корзиной не уходят

    в папке compiled не кеш, а сборка вьюшки для отдачи на фронт. без файлов этой папки не будет отображаться и сам сайт. 
    кеш хранится в папке cache в корне сайта, если файлов в ней нет, значит кеш не создавался.

    в вашем случае скорее проблема именно на стороне хостинга/сервера.

    вы можете мне написать и я проверю.

  21. 10 часов назад, volonter сказал:

    А с отключением кеширования в самом движке есть какие то варианты? Я как то писал простой самописный сайт где решил использовать smarty, и там кеширование шаблонов удалось отключить в конфигах, на Simpla это почему то не получается

    в SimplaCMS 

    config/config.php только 2 параметра отвечают за кеширование.

    smarty_caching = false;

    smarty_cache_lifetime = 0;

×
×
  • Создать...