Aluminium camlock couplings are used for quick connection and disconnection of hoses, pipework and transfer equipment. Also known as cam and groove fittings, they are commonly used where hoses need to be changed, connected or removed without threaded fittings.
Use aluminium camlock fittings for water handling, pumping, suction and delivery applications where a lightweight, practical coupling is needed. This range includes common camlock types such as Type A, B, C, D, E, F, dust caps and dust plugs.
Aluminium camlock couplings are used for quick connection and disconnection of hoses, pipework and transfer equipment. Also known as cam and groove fittings, they are commonly used where hoses need to be changed, connected or removed without threaded fittings.
Use aluminium camlock fittings for water handling, pumping, suction and delivery applications where a lightweight, practical coupling is needed. This range includes common camlock types such as Type A, B, C, D, E, F, dust caps and dust plugs.
ChatGPT
Invite team members
Friday 8:05 AM
Thought for 6s
Yep, category 138 next. This pulls all enabled direct products, plus the enabled simple children of grouped products assigned to category 138. It includes the fields we need for the cleanup review and later live-table build.
SELECT DISTINCT
results.ProductID,
results.SKU,
results.ProductType,
results.ProductName,
results.ProductUrl,
results.AddToCartAction,
results.ProductStatus,
results.Visibility,
results.CategoryPosition,
results.SourceRelationship,
results.ParentProductID,
results.ParentSKU,
results.ParentProductName
FROM
(
/* Products directly assigned to category 138 */
SELECT
product.entity_id AS ProductID,
product.sku AS SKU,
product.type_id AS ProductType,
COALESCE(
NULLIF(product_name_store.value, ''),
product_name_default.value
) AS ProductName,
CASE
WHEN COALESCE(
NULLIF(product_url_store.value, ''),
product_url_default.value
) IS NOT NULL
THEN CONCAT(
'/',
COALESCE(
NULLIF(product_url_store.value, ''),
product_url_default.value
),
'.html'
)
ELSE CONCAT(
'/catalog/product/view/id/',
product.entity_id,
'/'
)
END AS ProductUrl,
CONCAT(
'/checkout/cart/add/product/',
product.entity_id,
'/'
) AS AddToCartAction,
CASE product_status.value
WHEN 1 THEN 'Enabled'
WHEN 2 THEN 'Disabled'
ELSE CONCAT('Unknown: ', product_status.value)
END AS ProductStatus,
CASE product_visibility.value
WHEN 1 THEN 'Not Visible Individually'
WHEN 2 THEN 'Catalog'
WHEN 3 THEN 'Search Only'
WHEN 4 THEN 'Catalog, Search'
ELSE CONCAT('Unknown: ', product_visibility.value)
END AS Visibility,
category_product.position AS CategoryPosition,
'Directly Assigned' AS SourceRelationship,
NULL AS ParentProductID,
NULL AS ParentSKU,
NULL AS ParentProductName
FROM catalog_category_product AS category_product
INNER JOIN catalog_product_entity AS product
ON product.entity_id = category_product.product_id
INNER JOIN catalog_product_entity_int AS product_status
ON product_status.entity_id = product.entity_id
AND product_status.attribute_id = 273
AND product_status.store_id = 0
AND product_status.value = 1
LEFT JOIN catalog_product_entity_int AS product_visibility
ON product_visibility.entity_id = product.entity_id
AND product_visibility.attribute_id = 526
AND product_visibility.store_id = 0
INNER JOIN eav_entity_type AS product_entity_type
ON product_entity_type.entity_type_code = 'catalog_product'
INNER JOIN eav_attribute AS product_name_attribute
ON product_name_attribute.entity_type_id = product_entity_type.entity_type_id
AND product_name_attribute.attribute_code = 'name'
LEFT JOIN catalog_product_entity_varchar AS product_name_default
ON product_name_default.entity_id = product.entity_id
AND product_name_default.attribute_id = product_name_attribute.attribute_id
AND product_name_default.store_id = 0
LEFT JOIN catalog_product_entity_varchar AS product_name_store
ON product_name_store.entity_id = product.entity_id
AND product_name_store.attribute_id = product_name_attribute.attribute_id
AND product_name_store.store_id = 1
INNER JOIN eav_attribute AS product_url_attribute
ON product_url_attribute.entity_type_id = product_entity_type.entity_type_id
AND product_url_attribute.attribute_code = 'url_key'
LEFT JOIN catalog_product_entity_varchar AS product_url_default
ON product_url_default.entity_id = product.entity_id
AND product_url_default.attribute_id = product_url_attribute.attribute_id
AND product_url_default.store_id = 0
LEFT JOIN catalog_product_entity_varchar AS product_url_store
ON product_url_store.entity_id = product.entity_id
AND product_url_store.attribute_id = product_url_attribute.attribute_id
AND product_url_store.store_id = 1
WHERE category_product.category_id = 138
UNION ALL
/* Enabled simple children of grouped products assigned to category 138 */
SELECT
child.entity_id AS ProductID,
child.sku AS SKU,
child.type_id AS ProductType,
COALESCE(
NULLIF(child_name_store.value, ''),
child_name_default.value
) AS ProductName,
CASE
WHEN COALESCE(
NULLIF(child_url_store.value, ''),
child_url_default.value
) IS NOT NULL
THEN CONCAT(
'/',
COALESCE(
NULLIF(child_url_store.value, ''),
child_url_default.value
),
'.html'
)
ELSE CONCAT(
'/catalog/product/view/id/',
child.entity_id,
'/'
)
END AS ProductUrl,
CONCAT(
'/checkout/cart/add/product/',
child.entity_id,
'/'
) AS AddToCartAction,
CASE child_status.value
WHEN 1 THEN 'Enabled'
WHEN 2 THEN 'Disabled'
ELSE CONCAT('Unknown: ', child_status.value)
END AS ProductStatus,
CASE child_visibility.value
WHEN 1 THEN 'Not Visible Individually'
WHEN 2 THEN 'Catalog'
WHEN 3 THEN 'Search Only'
WHEN 4 THEN 'Catalog, Search'
ELSE CONCAT('Unknown: ', child_visibility.value)
END AS Visibility,
parent_category_product.position AS CategoryPosition,
'Grouped Child' AS SourceRelationship,
parent.entity_id AS ParentProductID,
parent.sku AS ParentSKU,
COALESCE(
NULLIF(parent_name_store.value, ''),
parent_name_default.value
) AS ParentProductName
FROM catalog_category_product AS parent_category_product
INNER JOIN catalog_product_entity AS parent
ON parent.entity_id = parent_category_product.product_id
AND parent.type_id = 'grouped'
INNER JOIN catalog_product_entity_int AS parent_status
ON parent_status.entity_id = parent.entity_id
AND parent_status.attribute_id = 273
AND parent_status.store_id = 0
AND parent_status.value = 1
INNER JOIN catalog_product_link AS product_link
ON product_link.product_id = parent.entity_id
AND product_link.link_type_id = 3
INNER JOIN catalog_product_entity AS child
ON child.entity_id = product_link.linked_product_id
AND child.type_id = 'simple'
INNER JOIN catalog_product_entity_int AS child_status
ON child_status.entity_id = child.entity_id
AND child_status.attribute_id = 273
AND child_status.store_id = 0
AND child_status.value = 1
LEFT JOIN catalog_product_entity_int AS child_visibility
ON child_visibility.entity_id = child.entity_id
AND child_visibility.attribute_id = 526
AND child_visibility.store_id = 0
INNER JOIN eav_entity_type AS child_entity_type
ON child_entity_type.entity_type_code = 'catalog_product'
INNER JOIN eav_attribute AS child_name_attribute
ON child_name_attribute.entity_type_id = child_entity_type.entity_type_id
AND child_name_attribute.attribute_code = 'name'
LEFT JOIN catalog_product_entity_varchar AS child_name_default
ON child_name_default.entity_id = child.entity_id
AND child_name_default.attribute_id = child_name_attribute.attribute_id
AND child_name_default.store_id = 0
LEFT JOIN catalog_product_entity_varchar AS child_name_store
ON child_name_store.entity_id = child.entity_id
AND child_name_store.attribute_id = child_name_attribute.attribute_id
AND child_name_store.store_id = 1
INNER JOIN eav_attribute AS child_url_attribute
ON child_url_attribute.entity_type_id = child_entity_type.entity_type_id
AND child_url_attribute.attribute_code = 'url_key'
LEFT JOIN catalog_product_entity_varchar AS child_url_default
ON child_url_default.entity_id = child.entity_id
AND child_url_default.attribute_id = child_url_attribute.attribute_id
AND child_url_default.store_id = 0
LEFT JOIN catalog_product_entity_varchar AS child_url_store
ON child_url_store.entity_id = child.entity_id
AND child_url_store.attribute_id = child_url_attribute.attribute_id
AND child_url_store.store_id = 1
INNER JOIN eav_attribute AS parent_name_attribute
ON parent_name_attribute.entity_type_id = child_entity_type.entity_type_id
AND parent_name_attribute.attribute_code = 'name'
LEFT JOIN catalog_product_entity_varchar AS parent_name_default
ON parent_name_default.entity_id = parent.entity_id
AND parent_name_default.attribute_id = parent_name_attribute.attribute_id
AND parent_name_default.store_id = 0
LEFT JOIN catalog_product_entity_varchar AS parent_name_store
ON parent_name_store.entity_id = parent.entity_id
AND parent_name_store.attribute_id = parent_name_attribute.attribute_id
AND parent_name_store.store_id = 1
WHERE parent_category_product.category_id = 138
) AS results
ORDER BY
results.CategoryPosition,
results.ParentSKU,
results.ProductType,
results.ProductName,
results.SKU;
This is read-only. Paste the result back here and we’ll work through what category 138 actually contains.
Friday 9:09 AM
Pasted text.txt
Document
Pasted text(1).txt
Document
need to make these search only
d839a5c5-52bf-491d-baa5-1a70932331b3.png
whatre we doing with the left over in these
Friday 11:47 AM
Friday 4:33 PM
5937cb65-1d9c-458c-90e9-80a766e4b45e.png
what is this hose known as
Today 8:12 AM
34df1d39-96cf-470c-a2a2-93362f74b211.png
what about these ones? what to call these?
Pasted text(2).txt
Document
300 509 dead link https://www.lsengineers.co.uk/dura-klix-quick-release-coupling-set-3-8-bsp-female-female.html
f03cedd6-281d-4aac-a0e1-35a0e4d7a09d.png
Pasted text(3).txt
Document
some of the blue images aren't working
you checking it?
Worked for 21s
Yep, checking it now. The tab logic itself is fine. The issue is specifically with some of the active blue image files.
For Type D, the table is trying to load:
camlock-012.png
The grey Type D icon is:
camlock-009.png
All 16 filenames are referenced correctly in the code, so the likely problem is that one or more of the blue files, especially camlock-012.png, are either missing from Magento media, named slightly differently, or uploaded into a different folder.
The full active-image mapping is:
Type A = camlock-001.png
Type B = camlock-010.png
Type C = camlock-015.png
Type D = camlock-012.png
Type E = camlock-013.png
Type F = camlock-014.png
Type DC = camlock-016.png
Type DP = camlock-011.png
So the first one to check in Table Images is camlock-012.png. The screenshot confirms the active Type D background changes correctly, but its image request is failing.
a701d892-df49-4386-97b5-8e17151e14ad.png
Yep, the files are there. The problem is the path in the table code.
The images live in:
/pub/media/media/wysiwyg/Table Images/
But the aluminium camlock table currently points to:
https://www.lsengineers.co.uk/media/media/wysiwyg/camlock-012.png
It needs the Table Images folder included:
https://www.lsengineers.co.uk/media/media/wysiwyg/Table Images/camlock-012.png
So every camlock icon reference should change from:
media/wysiwyg/camlock-
to:
media/wysiwyg/Table Images/camlock-
That applies to both the grey and blue images, desktop tabs and mobile accordion icons. The uploaded code confirms the folder is missing from all those image references.
can you do that?
Done. I updated all 32 camlock image references, covering both desktop tabs and mobile accordion icons.
aluminium-camlock-table-image-paths-fixed.txt
Library
/
Magento Catalogue Cleanup & phpMyAdmin SQL Toolkit
/
aluminium-camlock-table-image-paths-fixed.txt
Aluminium Camlock Couplings
Shop aluminium camlock couplings by type and size.
Type AType BType CType DType EType FType DCType DP