Modify the init() method of the StoreAdmin class located in the presentation/store_admin.php
file to load the newly added componentized templates:
// Choose what admin page to load ...
if ($admin_page == 'Departments')
$this->mContentsCell = 'admin_departments.tpl';
elseif ($admin_page == 'Categories')
$this->mContentsCell = 'admin_categories.tpl';
elseif ($admin_page == 'Attributes')
$this->mContentsCell = 'admin_attributes.tpl';
elseif ($admin_page == 'AttributeValues')
$this->mContentsCell = 'admin_attribute_values.tpl';
10. Use phpMyAdmin to execute the following code, which creates the data tier stored procedures into your
tshirtshop database. Don??™t forget to set the $$ delimiter. (Remember, if you want to see the list of all
stored procedures in the tshirtshop database, you can use the SHOW PROCEDURE STATUS command.)
-- Create catalog_get_attributes stored procedure
CREATE PROCEDURE catalog_get_attributes()
BEGIN
SELECT attribute_id, name FROM attribute ORDER BY attribute_id;
END$$
-- Create catalog_add_attribute stored procedure
CREATE PROCEDURE catalog_add_attribute(IN inName VARCHAR(100))
BEGIN
INSERT INTO attribute (name) VALUES (inName);
END$$
-- Create catalog_update_attribute stored procedure
CREATE PROCEDURE catalog_update_attribute(
IN inAttributeId INT, IN inName VARCHAR(100))
BEGIN
UPDATE attribute SET name = inName WHERE attribute_id = inAttributeId;
END$$
-- Create catalog_delete_attribute stored procedure
CREATE PROCEDURE catalog_delete_attribute(IN inAttributeId INT)
BEGIN
DECLARE attributeRowsCount INT;
SELECT count(*)
FROM attribute_value
CHAPTER 11 ?– CATALOG ADMINISTRATION: PRODUCTS AND ATTRIBUTES 318
WHERE attribute_id = inAttributeId
INTO attributeRowsCount;
IF attributeRowsCount = 0 THEN
DELETE FROM attribute WHERE attribute_id = inAttributeId;
SELECT 1;
ELSE
SELECT -1;
END IF;
END$$
-- Create catalog_get_attribute_details stored procedure
CREATE PROCEDURE catalog_get_attribute_details(IN inAttributeId INT)
BEGIN
SELECT attribute_id, name
FROM attribute
WHERE attribute_id = inAttributeId;
END$$
-- Create catalog_get_attribute_values stored procedure
CREATE PROCEDURE catalog_get_attribute_values(IN inAttributeId INT)
BEGIN
SELECT attribute_value_id, value
FROM attribute_value
WHERE attribute_id = inAttributeId
ORDER BY attribute_id;
END$$
-- Create catalog_add_attribute_value stored procedure
CREATE PROCEDURE catalog_add_attribute_value(
IN inAttributeId INT, IN inValue VARCHAR(100))
BEGIN
INSERT INTO attribute_value (attribute_id, value)
VALUES (inAttributeId, inValue);
END$$
-- Create catalog_update_attribute_value stored procedure
CREATE PROCEDURE catalog_update_attribute_value(
IN inAttributeValueId INT, IN inValue VARCHAR(100))
BEGIN
UPDATE attribute_value
SET value = inValue
WHERE attribute_value_id = inAttributeValueId;
END$$
-- Create catalog_delete_attribute_value stored procedure
CREATE PROCEDURE catalog_delete_attribute_value(IN inAttributeValueId INT)
CHAPTER 11 ?– CATALOG ADMINISTRATION: PRODUCTS AND ATTRIBUTES 319
BEGIN
DECLARE productAttributeRowsCount INT;
SELECT count(*)
FROM product p
INNER JOIN product_attribute pa
ON p.
Pages:
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433