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

Активность

Лента обновляется автоматически

  1. Сегодня
  2. <?php require_once('Simpla.php'); class Files extends Simpla { private $allowed_extentions = array('pdf', 'txt', 'doc', 'docx', 'xls', 'xlsx', 'mp4', 'mp3', 'psd', 'ai', 'zip', 'rar'); public function __construct() { parent::__construct(); } function get_files($filter = array()) { $object_id_filter = ''; $type_filter = ''; if(!empty($filter['object_id'])) $object_id_filter = $this->db->placehold('AND f.object_id in(?@)', (array)$filter['object_id']); if(!empty($filter['type'])) $type_filter = $this->db->placehold('AND f.ty
  3. Ещё раньше
  4. Ну в общем получилось: Подключаем composer require tecnickcom/tcpdf Если нет composer, то устанавливаем его. В корне проекта создаём generate_pdf.php <?php require_once '/vendor/tecnickcom/tcpdf/tcpdf.php'; $pdf = new TCPDF(); // Вертикальный отступ после шапки $pdf->Ln(5); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('Название сайта'); $pdf->SetTitle('Информация о продукте'); $pdf->SetSubject('Экспорт информации о товаре в PDF'); $pdf->SetFont('dejavusans', '', 10, '', true); $pdf->AddPage(); $pdf->SetY(15); // Логотип $logoFile = 'ht
  5. Названия файлов уже получает) В .tpl {foreach from=$product->images item=image} <input type="hidden" name="images[]" value="{$image->filename|escape}"> {/foreach} и в php // Добавление названий изображений if (!empty($_POST['images'])) { $htmlContent .= "<h2>Изображения товара:</h2><ul>"; foreach ($_POST['images'] as $image) { $filename = basename($image); // Извлекаем имя файла из полного пути $htmlContent .= "<li>{$filename}</li>"; // Добавляем только имя файла в список } $htmlContent .= "</ul&
  6. generate_pdf <?php require_once '/vendor/tecnickcom/tcpdf/tcpdf.php'; // Путь к файлу TCPDF $productData = [ 'id' => $_POST['id'], 'url' => $_POST['url'], 'name' => $_POST['name'], // Заполните остальные данные ]; $pdf = new TCPDF(); $pdf->AddPage(); $pdf->SetFont('dejavusans', '', 12); $htmlContent = "<h1>{$productData['name']}</h1> <p><strong>ID:</strong> {$productData['id']}</p> <p><strong>URL:</strong> {$productData['url']}</p> $pdf->writeHTML($htmlContent, true, false, t
  7. Создаю я значит generate_pdf.php в корне проекта <?php require_once '/vendor/tecnickcom/tcpdf/tcpdf.php'; // Путь к файлу TCPDF // Создание нового PDF документа $pdf = new TCPDF(); // Добавление страницы $pdf->AddPage(); // Установка шрифта $pdf->SetFont('dejavusans', '', 12); // Формирование HTML-контента $htmlContent = <<<EOD <h1>{$product['name']}</h1> EOD; // Вывод HTML-контента в PDF $pdf->writeHTML($htmlContent, true, false, true, false, ''); // Вывод PDF $pdf->Output('product_info.pdf', 'I'); И кнопку в product.tpl <a h
  8. Господа, всем привет) Подскажите пожалуйста, может кто уже сталкивался с подобной задачей на Simpla? Хочу реализовать возможность скачивать генерить PDF файлы на основе данных из карточки товара с помощью TCPDF или mpdf? Подскажите, в какие директории нужно внести корректировки? Код я как-нибудь напишу, но в систему построения модуля никак не врублюсь. При собственных попытках внедрения постоянно упираюсь в ошибку 500, судя по всему из за неправильного размещения кода.
  9. Если товаров немного, то намного проще и экономнее было бы их получать ВСЕ сразу, хранить скрыто на странице и показывать/скрывать через Javascript.
  10. Так как товаров будет не больше 100, справился тем что постоянно запрашивал все товары и уже через ajax фильтровал и возвращал. Наверное при каталоге в 100 к такое не пройдет, в моем случае получилось и всё отлично работает.
  11. ajax при каждом изменении селекта посылает запрос который возвращает значения. проще некуда
  12. Обращаться к этому "я", чтобы он выполнил все требующееся. А если серьезно, то реализовывать весь нужный функционал, в том числе "каждый раз бегать по товарам и смотреть свойство высота". Фактически требуются взаимосвязанные списки для выбора, подобное часто делается в магазинах автозапчастей, когда по шагам выбирается марка, модель, год выпуска...
  13. Такой вопрос, как можно сделать так, чтоб я сделал 3 select ну или radio кнопок, по 3 свойствам, выбирая поочередно, ширину, длину и высоту, по этим товарам аяксом ищется товар попадающий под эти параметры. После я пишу имя, телефон и отправляю заявку с данным товаром как покупка в 1 клик. В общем вся сложность именно найти товар. По сути как я думаю это реализуется. во view создаю функцию get_feature и туда подтягиваю значения первого свойства ширина. А вот далее уже интереснее, не пойму как правильно реализовать. По сути мне надо каждый раз бегать по товарам и смотре
  14. Если нужно менять <li> где вывод по 1 товару, нужно сделать вот так: <ul class="products"> {$i=0} {$index=0} {foreach $products as $product} {$i=$i+1} {$index=$index+1} {if $product@first || $i==1 || ($index % 5 == 1)}{if $index % 5 == 0}<li class="КЛАСС ДЛЯ ОДНОГО ТОВАРА">{else}<li class="product">{/if}{/if} <div class="product_block"> {$product->name|escape} тут код для товара </div> {if $i==2 || ($index % 5 == 0) || $product@last}</li>{$i=0}{/if} {/foreach
  15. Спасибо, сделал вот так: <ul class="products"> {$i=0} {$index=0} {foreach $products as $product} {$i=$i+1} {$index=$index+1} {if $product@first || $i==1 || ($index % 5 == 1)}<li class="product">{/if} <div class="product_block"> {$product->name|escape} тут код для товара </div> {if $i==2 || ($index % 5 == 0) || $product@last}</li>{$i=0}{/if} {/foreach} </ul>
  16. Это работает верно для простых данных (когда в массиве $products ключи идут по порядку 0,1,2,3). А когда ключи произвольные, возникает ошибка, потому что условие ($key % 5 == 4) фактически выдает результат СЛУЧАЙНЫМ ОБРАЗОМ. Можно, например, не использовать $key, а вместо нее вручную формировать свою переменную.
  17. делаю вот так <ul class="products"> {$i=0} {foreach $products as $key => $product} {$i=$i+1} {if $product@first || $i==1 || ($key % 5 == 0)}<li class="product">{/if} <div class="product_block"> {$product->name|escape} тут код для товара </div> {if $i==2 || ($key % 5 == 4) || $product@last}</li>{$i=0}{/if} {/foreach} </ul> Вначале нормально, а потом не закрывает </li> и отображает уже не правильно....почему? вот как отображает: <ul class="products">
  18. а как сделать такое отображение: товар 1 | товар 2 товар 3 | товар 4 товар 5 товар 6 | товар 7 товар 8 | товар 9 товар 10 товар 11 | товар 12 товар 13 | товар 14 товар 15
  19. Добрый день! Есть у кого-нибудь возможность залить повторно? Или выложить содержимое файла Files.php? Спасибо!
  20. Определена переменная $city, а индекс массива $_REQUEST['city'] - не найден. Посмотри на каком этапе он должен там появиться и почему не. Переменная coupon_result не определена/не передана в шаблоне.
  21. Спасибо. Варнинги вроде все изжил. Заказы создаются через один - то нормально все считается в корзине, то какая-то одна позиция не считается. При этом имею кучу однотипных нотайсов: PHP Notice: Undefined property: stdClass::$discount_price in /var/www/ikar/data/www/astra-omsk.ru/api/Cart.php on line 83, referer: https://astra-omsk.ru/cart PHP Notice: Undefined property: stdClass::$no_discount_price in /var/www/ikar/data/www/astra-omsk.ru/api/Cart.php on line 123, referer: https://astra-omsk.ru/cart PHP Notice: Undefined variable: coupon in /var/www/ikar/data/www/astra-omsk.ru/ajax/calcu
  22. Ну, для начала $purchase = null; if (!empty($products[$item->variant->product_id])) { $purchase = new stdClass(); $purchase->product = $products[$item->variant->product_id];
  23. Наконец руки дошли написать всем неравнодушным спасибо и повтыкать в код с умным лицом. назначение new stdClass вроде проблему решает. В силу недостаточных знаний не везде понятно где варнинг типа PHP Notice: Undefined variable: ... можно починить созданием new stdClass а где может что-то другое надо делать. при оформлении заказа таких нотайсов овердохрена. Ну, буду изучать разбираться. Напрягает еще 2 ошибки - PHP Warning: Creating default object from empty value in /var/www/ikar/data/www/astra-omsk.ru/api/Cart.php on line 71, referer: https://astra-omsk.ru/cart
  1. Загрузить ещё активность
×
×
  • Создать...