diff --git a/src/Controller/ProductPhotosController.php b/src/Controller/ProductPhotosController.php index 7ff0f34..6c11dda 100644 --- a/src/Controller/ProductPhotosController.php +++ b/src/Controller/ProductPhotosController.php @@ -169,6 +169,8 @@ class ProductPhotosController extends AppController $fullPath = Configure::readOrFail('CakeProducts.photos.directory') . $productPhoto->photo_dir . DS . $productPhoto->photo_filename; - return $this->response->withFile($fullPath); + return $this->response->withFile($fullPath, [ + 'download' => $this->request->getQuery('download', false) === '1' + ]); } } diff --git a/src/Model/Table/ProductCategoryAttributeOptionsTable.php b/src/Model/Table/ProductCategoryAttributeOptionsTable.php index 013de40..e224c6a 100644 --- a/src/Model/Table/ProductCategoryAttributeOptionsTable.php +++ b/src/Model/Table/ProductCategoryAttributeOptionsTable.php @@ -3,6 +3,7 @@ declare(strict_types=1); namespace CakeProducts\Model\Table; +use Cake\Core\Configure; use Cake\Datasource\EntityInterface; use Cake\Datasource\ResultSetInterface; use Cake\ORM\Association\BelongsTo; @@ -49,6 +50,10 @@ class ProductCategoryAttributeOptionsTable extends Table $this->setDisplayField('attribute_value'); $this->setPrimaryKey('id'); + $this->setEntityClass( + Configure::read('CakeProducts.ProductCategoryAttributeOptions.entity', 'CakeProducts\Model\Entity\ProductCategoryAttributeOption') + ); + $this->belongsTo('ProductCategoryAttributes', [ 'foreignKey' => 'product_category_attribute_id', 'joinType' => 'INNER', diff --git a/src/Model/Table/ProductCategoryAttributesTable.php b/src/Model/Table/ProductCategoryAttributesTable.php index e8617d2..c7cfa1c 100644 --- a/src/Model/Table/ProductCategoryAttributesTable.php +++ b/src/Model/Table/ProductCategoryAttributesTable.php @@ -3,6 +3,7 @@ declare(strict_types=1); namespace CakeProducts\Model\Table; +use Cake\Core\Configure; use Cake\Database\Type\EnumType; use Cake\Datasource\EntityInterface; use Cake\Datasource\ResultSetInterface; @@ -51,6 +52,9 @@ class ProductCategoryAttributesTable extends Table $this->setDisplayField('name'); $this->setPrimaryKey('id'); + $this->setEntityClass( + Configure::read('CakeProducts.ProductCategoryAttributes.entity', 'CakeProducts\Model\Entity\ProductCategoryAttribute') + ); $this->belongsTo('ProductCategories', [ 'foreignKey' => 'product_category_id', 'bindingKey' => 'internal_id', diff --git a/src/Model/Table/ProductCategoryVariantOptionsTable.php b/src/Model/Table/ProductCategoryVariantOptionsTable.php index 88a82ec..954ec11 100644 --- a/src/Model/Table/ProductCategoryVariantOptionsTable.php +++ b/src/Model/Table/ProductCategoryVariantOptionsTable.php @@ -3,6 +3,7 @@ declare(strict_types=1); namespace CakeProducts\Model\Table; +use Cake\Core\Configure; use CakeProducts\Model\Entity\ProductCategoryVariantOption; use CakeProducts\Model\Table\ProductCategoryVariantsTable; use Cake\Datasource\EntityInterface; @@ -53,6 +54,9 @@ class ProductCategoryVariantOptionsTable extends Table $this->setDisplayField('variant_value'); $this->setPrimaryKey('id'); + $this->setEntityClass( + Configure::read('CakeProducts.ProductCategoryVariantOptions.entity', 'CakeProducts\Model\Entity\ProductCategoryVariantOption') + ); $this->addBehavior('Timestamp'); $this->belongsTo('ProductCategoryVariants', [ diff --git a/src/Model/Table/ProductCategoryVariantsTable.php b/src/Model/Table/ProductCategoryVariantsTable.php index d478e85..8fef4ac 100644 --- a/src/Model/Table/ProductCategoryVariantsTable.php +++ b/src/Model/Table/ProductCategoryVariantsTable.php @@ -3,6 +3,7 @@ declare(strict_types=1); namespace CakeProducts\Model\Table; +use Cake\Core\Configure; use Cake\ORM\Query\SelectQuery; use Cake\ORM\RulesChecker; use Cake\ORM\Table; @@ -44,6 +45,10 @@ class ProductCategoryVariantsTable extends Table $this->setDisplayField('name'); $this->setPrimaryKey('id'); + $this->setEntityClass( + Configure::read('CakeProducts.ProductCategoryVariants.entity', 'CakeProducts\Model\Entity\ProductCategoryVariant') + ); + $this->belongsTo('ProductCategories', [ 'foreignKey' => 'product_category_id', 'bindingKey' => 'internal_id', diff --git a/src/Model/Table/ProductPhotosTable.php b/src/Model/Table/ProductPhotosTable.php index 333067b..1fa8fb7 100644 --- a/src/Model/Table/ProductPhotosTable.php +++ b/src/Model/Table/ProductPhotosTable.php @@ -3,6 +3,7 @@ declare(strict_types=1); namespace CakeProducts\Model\Table; +use Cake\Core\Configure; use Cake\Datasource\EntityInterface; use Cake\Datasource\ResultSetInterface; use Cake\ORM\Association\BelongsTo; @@ -52,6 +53,10 @@ class ProductPhotosTable extends Table $this->setDisplayField('photo_filename'); $this->setPrimaryKey('id'); + $this->setEntityClass( + Configure::read('CakeProducts.ProductPhotos.entity', 'CakeProducts\Model\Entity\ProductPhoto') + ); + $this->addBehavior('Timestamp'); $this->belongsTo('Products', [ diff --git a/src/Model/Table/ProductSkusTable.php b/src/Model/Table/ProductSkusTable.php index 463446f..9001440 100644 --- a/src/Model/Table/ProductSkusTable.php +++ b/src/Model/Table/ProductSkusTable.php @@ -3,6 +3,7 @@ declare(strict_types=1); namespace CakeProducts\Model\Table; +use Cake\Core\Configure; use CakeProducts\Model\Table\ProductsTable; use Cake\Datasource\EntityInterface; use Cake\Datasource\ResultSetInterface; @@ -52,6 +53,10 @@ class ProductSkusTable extends Table $this->setDisplayField('sku'); $this->setPrimaryKey('id'); + $this->setEntityClass( + Configure::read('CakeProducts.ProductSkus.entity', 'CakeProducts\Model\Entity\ProductSku') + ); + $this->addBehavior('Timestamp'); $this->belongsTo('Products', [ diff --git a/src/Model/Table/ProductsTable.php b/src/Model/Table/ProductsTable.php index 8404fe7..e5539c0 100644 --- a/src/Model/Table/ProductsTable.php +++ b/src/Model/Table/ProductsTable.php @@ -3,6 +3,7 @@ declare(strict_types=1); namespace CakeProducts\Model\Table; +use Cake\Core\Configure; use Cake\Database\Type\EnumType; use Cake\Datasource\EntityInterface; use Cake\Datasource\ResultSetInterface; @@ -51,6 +52,10 @@ class ProductsTable extends Table $this->setDisplayField('name'); $this->setPrimaryKey('id'); + $this->setEntityClass( + Configure::read('CakeProducts.Products.entity', 'CakeProducts\Model\Entity\Product') + ); + $this->belongsTo('ProductCategories', [ 'foreignKey' => 'product_category_id', 'bindingKey' => 'internal_id', diff --git a/templates/ProductPhotos/view.php b/templates/ProductPhotos/view.php index d059ae9..066c37d 100644 --- a/templates/ProductPhotos/view.php +++ b/templates/ProductPhotos/view.php @@ -17,6 +17,10 @@

photo_filename) ?>

+ <?= $productPhoto->id; ?>