Skip to content

Product field formats

Use this page when you fill in a product’s custom fields (the misc fields) in cPanel. Maropost saves whatever you type. The altapac.com theme then decides how to read it, and when a value is in the wrong shape it usually shows nothing at all. There’s no error in cPanel and no error on the site.

The tables below cover every product custom field the theme reads, grouped by job. Each one gives the format, an example, what the field does on the site and the mistake that makes it silently disappear.

Examples are real values from the store unless marked otherwise. Counts come from a pull of the 163 bike-rack products on 21 October 2026.

How to fill a field

  1. In cPanel, open the product and find the custom field by its name or misc number. Custom fields are spread across the tabs of the product editor.
  2. Check which product template the product uses. Bike racks use the bikeRacks template. Everything else uses the standard product template. Some fields only do something on one of the two (see Which fields work where).
  3. Type the value exactly in the format shown in the tables. For lists, use the pipe character | between items and don’t put spaces around it. The theme doesn’t trim spaces.
  4. Save the product. Saving also refreshes the product’s cached page and cards.
  5. Open the live product page, and a category page that lists it, and check that the value shows. If a field shows nothing, compare it with the “Trap” column before you try anything else.

The rules every list field follows

  • Pipe, not comma. Every list field splits on |. Older notes say comma-delimited. That’s out of date. A comma list is read as one single item.
  • Paired lists match by position. In misc9 and misc19, the first name goes with the first URL, the second with the second, and so on. One missing item shifts every pair after it.
  • Empty positions keep their place. A||C is three positions, and C is third. You can use this on purpose to skip a position (misc47 relies on it).
  • No | inside the text of an item. A stray pipe in a sentence or description starts a new item and shifts everything after it.

Documents

Shown as a “Resources” panel on the standard product page, and as links in the Description and Specifications sections on bike racks.

FieldcPanel nameFormatExampleWhat it doesTrap
misc9Document NamesPipe list of link labelsFitting Instructions|DimensionsLink text for each documentMust have the same number of items as misc19, in the same order
misc19Document URL’sPipe list of URLs, one per name in misc9https://rockymounts.com/cdn/shop/files/AfterParty_Instruction.pdf|https://rockymounts.com/cdn/shop/files/AfterPartyDimension_Chart.pdfWhere each link goes. Opens in a new tabEvery URL must contain a / or that document is dropped. A bare part number like 610700 is dropped (not live yet, AUD-13)

Features cards

A horizontal strip of cards, each with an image, a heading and a short description. On the standard page it’s titled “Key Features” and sits at the top of the Description section. On bike racks it’s in the Features section.

FieldcPanel nameFormatExampleWhat it doesTrap
misc43Features - ImagePipe list of image URLs/assets/alt_5_thumb/50431.jpg|/assets/alt_9_thumb/50431.webpCard image, one per cardOne image per card, in the same order as misc44 and misc45
misc44Features - Heading TextPipe list of short headingsSwing Up Stowage|Easy Boot AccessCard headingStandard page: if this field is empty, no cards show at all
misc45Features - Description TextPipe list of one-sentence descriptionsThe Backstage can fold up when empty to reduce vehicle footprint and clutter|The industry’s first 180 degree swing away platform hitch rackCard textDon’t use | inside a description. It splits one card into two and shifts every later card

The examples are the first two cards of the RockyMounts BackStage (50431). 30 of the 163 bike racks have feature cards, and on 15 of them every heading is blank (2026-10-21).

The two templates apply different rules:

  • Standard product page: all or nothing. The strip shows only when misc43, misc44 and misc45 all have something in them. Then every position becomes a card, even one with a blank heading or a missing image.
  • Bike racks: card by card. A card shows when it has an image and at least a heading or a description. Cards with no image are skipped. The section shows the number of cards (“4 highlights”).

Promotion image and card badge

FieldcPanel nameFormatExampleWhat it doesTrap
misc11Product Header Promo Image ZoneOne image URL, 346 × 86 px/assets/promos/rhino-nov.jpg (made up)Campaign image on the product page. Standard page: under the title, above the price. Bike rack: below the buy buttonOnly shows while the product is on promotion (Maropost’s in-promo state). Outside the promo dates it’s hidden, even when filled
misc29Product Header Promo LinkOne URL/promotions/rhino-rack-november/ (made up)Where the misc11 image links toDoes nothing without misc11. If misc11 is set and this is blank, the image links back to the same page
misc21Image Overlay Badge NameShort textFree Gift (made up)Label on the badge over the product image on grid cardsGrid cards need both misc21 and misc22. misc21 alone shows nothing
misc22Image Overlay Badge URLOne image URL, a PNG with a transparent background/assets/badges/gift.png (made up)Badge image over the product image on grid and list cardsList view ignores misc21 and always labels the badge “Free Gift”

Neither misc21 nor misc22 shows on the product page itself.

Stock flags and lead time

misc12, misc25 and misc26 are the only Boolean (yes/no) custom fields. cPanel calls them true/false. The store keeps them as y and n, which is what the API returns and the theme reads. Set them with the true/false control in cPanel and nothing else.

FieldcPanel nameFormatExampleWhat it doesTrap
misc12Direct Ship OnlyBooleanTrueProduct page, at zero stock: “Shipped from supplier” (not live yet, AUD-52). Cards: always “See Options” instead of Add to Cart (not live yet, AUD-23). Cart: “Shipped from Supplier”Product page applies it only at zero stock. Cards and cart apply it at any stock level. The product-page buy button ignores it, so at zero stock it can still say “Backorder”
misc25Special Order OnlyBooleanTrueProduct page: “Special order” when out of stock or oversellable, “In stock” when held. Cards: “Special Order” button. Cart: “Special Order” badgeThe product-page buy button ignores it
misc26Discontinued Run OutBooleanTrue”This product has been Discontinued” notice at any stock level. With stock: “Final stock” and “This model is being run out”. At zero stock: “No longer available”, with no buy button on the product page or cards, and a “No longer available” badge in the cart (cards and cart not live yet, AUD-25)On cards, Direct Ship Only and variation parents are checked first, so a discontinued direct-ship product still shows “See Options” on cards
misc14Estimated Lead TimeWhole number of days5 (76 bike racks; 48 hold 0)Adds a lead-time line under the availability label: “Usually leaves the supplier in 5 days” (direct ship), “Usually available in 5 days” (special order), “Expected in 5 days” (incoming stock with no future arrival date), “Usually back in stock in 5 days” (backorder)Blank or 0 means no line. There is no default. It’s never shown on in-stock, sold-out or discontinued products
misc7Dropship StatementTextShips direct from the supplier in Melbourne. Allow 5 to 10 business days. (made up)Any text adds an “Availability information for this product” button on both templates. It opens a pop-up showing this textNot tied to misc12. It shows whenever it has text, whatever the stock state, except a lone N, which counts as off. 32 bike racks hold N and show no button

Card text

FieldcPanel nameFormatExampleWhat it doesTrap
misc4Manufacturer’s SkuTextSBR002 (on Shingleback 2BLR)Replaces the SKU shown on product cardsCards show this instead of the store SKU. The product page still shows the store SKU, so the two won’t match
misc13Vehicle FitmentVehicle text onlyToyota HiLux 2015 onwards (made up)Fitment line on product cards. On bike racks, also in the “Good to know” boxDon’t type “For”. Grid cards add “For ” in front, so For Toyota HiLux shows as “For For Toyota HiLux”. List view and the bike-rack box print it as typed. Not shown on the standard product page
misc27Thumb DescriptionShort text, about one sentenceAdds a third bike to the OutWay. (made up: no bike-rack product had one on 2026-10-21)Bike racks: the reason line on an add-on card, read from the add-on product. List view: the hidden description for search engines, cut at 157 charactersDoesn’t replace the visible short description anywhere. To matter on an add-on card, set it on the add-on, not on the rack

Bike-rack only fields

These do nothing on the standard product template.

FieldcPanel nameFormatExampleWhat it doesTrap
misc2Range NudgeSKU|sentence: the SKU of the product you’re pointing to, a pipe, then one sentence9012100|No hitch receiver? The OutPace 2-Bike mounts on a 50mm tow ball. (on the RockyMounts AfterParty; 103 racks have a nudge)A callout in the Specifications section with the sentence and a link to that product. The link text is the target’s live product nameHidden if the target SKU is deleted, disabled, unapproved or misspelt. No | inside the sentence. Only shows when the rack has a Bikes Carried, Max Weight Per Bike or Max Combined Bike Weight item specific
misc20Video AttachmentsOne bare YouTube video IDdPmdcvvhxr8 (the 11 characters after v= in a YouTube link; 61 racks have one)Adds a video slide and thumbnail to the bike-rack galleryA full URL, or two IDs separated by commas, gives a broken video slide. One video per product
misc47Not recordedPipe list of four headings, in this order: description headline, Features heading, Specifications heading, Add-ons headingTwo bikes, any hatch, no towbar.||The Numbers| (the only rack using it, 994001: sets the headline and the Specifications heading)Overrides the section headings on that rackLeave a position empty to keep its default. A fifth or later position is ignored. Headings only, no sentences

misc47 defaults when a position is empty:

PositionHeadingDefault
1Description headline”Bikes Carried, Vehicle Mount mounted” from the item specifics. If either is missing, the product name
2FeaturesBuilt for the getaway
3SpecificationsThe numbers
4Add-onsFinish the setup

Fields the theme ignores

These exist in cPanel but no part of the site’s theme reads them as product fields. Filling them changes nothing on the product page or cards.

FieldcPanel nameNote
misc16Curated Image URLNot used. Older notes say it is
misc28Kit-IncludesNot used. Its cPanel description was copied from misc27
misc1, misc3, misc6, misc8, misc10, misc24Testing, Shipping Notes, Upsell Field Name, Banner URL, MAPCODE, Vehicle Fitment DetailsDeprecated
misc5Flush Bar MeasurementsNot used on the website
misc23, misc30, misc31, misc33Colour, Compatibility Year Start, Compatibility Year End, Fitting PriceNot used on the website

Store Finder records have their own misc1 to misc5 fields (opening hours and the location page slug). They’re a separate field set and have nothing to do with the product fields of the same numbers.

Standard fields the theme repurposes

These are stock Maropost fields, but the theme gives them a job or a placement you wouldn’t expect.

FieldWhat the theme does with itTrap
SubtitleGrey line under the product heading on both templates, and under the name in variation rows56 characters at most. The store cuts anything longer with no error
Page heading (SEO), API name SEOPageHeadingReplaces the product heading (H1) on both templates. Blank means the product nameChanges the heading shoppers see, not just the search listing
Short DescriptionStandard page: paragraph in the buying column. Bike racks: paragraph under the heading. List view cards: the card text. The store also builds the meta description from it (“Name - Brand - short description”)Not shown on grid cards. The store cuts it at 255 characters, mid-word, so keep it to 250
Availability DescriptionBike racks only: an “Availability Information” box under the short descriptionIgnored on the standard template. Use misc7 there
Date of arrivalActs as the pre-order switch (see below)Setting a future date on a product with stock turns it into a pre-order
Product Type”Type” row in the standard Specifications table. On bike-rack add-on cards, the small label above the add-on’s name—
Features, WarrantyStandard page: their own sections, with tabs at the top that only appear when filled. Bike racks: Features becomes a check list in the Features section, Warranty its own section—
TermsBike racks only: its own section when filledIgnored on the standard template
WeightShown as “Shipping weight”On bike racks, the rack’s own weight comes from the Rack Weight item specific, not this field
Extra options, variations, editable kitsCards show “See Options” instead of Add to Cart—

Date of arrival is the pre-order switch

On this store, a future arrival date is what makes a product a pre-order. There isn’t a separate “this is a pre-order” setting. What the date does depends on stock:

Product stateA future arrival date means
Has stockProduct page reads “Pre-order available” and cards show a Pre-Order button (not live yet on grid cards, AUD-66)
Out of stock, incoming stock on a purchase order”More on the way”, with “Arriving” and the date
Out of stock, nothing incomingThe date does nothing. The page shows “Backorder available” or “Sold out”

Incoming stock comes from purchase orders, not from anything you type on the product. A past date is ignored.

What breaks: common mistakes

All of these fail silently. The product saves, and the page just leaves the content out.

Which fields work where

FieldStandard product pageBike-rack pageProduct cards
misc2—Yes—
misc4——Yes
misc7YesYes—
misc9, misc19YesYes—
misc11, misc29Yes, in promoYes, in promo—
misc12, misc25, misc26YesYesYes (misc12 and sold-out misc26 not live yet, AUD-23, AUD-25)
misc13—YesYes
misc14YesYes—
misc20—Yes—
misc21——Grid only
misc22——Grid and list
misc27—On add-on cardsList view, hidden
misc43, misc44, misc45Yes, all three neededYes, card by card—
misc47—Yes—
For developers

This page is based on the development branch of Altapac-ReDev, read on 21 October 2026. Paths are relative to src/templates/.

  • products/includes/documents.template.html, products/template.html (Resources gate)
  • products/includes/product_information.template.html, products/includes/features.template.html
  • products/includes/bikerack/template.html (feature count, misc47 defaults), bikerack/features.template.html, bikerack/labels.template.html, bikerack/specifications.template.html (misc2, documents), bikerack/description.template.html, bikerack/gallery.template.html, bikerack/addon_card.template.html, bikerack/buycard.template.html, bikerack/titlecol.template.html, bikerack/schema.template.html, bikerack/defaults.template.html
  • products/includes/availability_state.template.html, products/includes/availability.template.html, products/includes/modals.template.html, products/includes/buying_options.template.html, products/includes/child_products.template.html, products/includes/reviews.template.html
  • thumbs/product/template.html (grid), thumbs/product/list.template.html. thumbs/product/home-card.template.html exists, but nothing loads it on development or main
  • cart/shopping_cart.template.html
  • References: .claude/skills/base-templating/references/value-formats.md (Boolean y/n, field types, arrival date probes), tag-reference.md (empty split positions), caching.md (product save refreshes cache entries)
  • Lint: scripts/base-lint.cjs BOOLEAN_MISC

Known theme bugs behind some of the traps: list view hard-codes “Free Gift”; misc12 stock gating differs between the product page and cards, cart and JSON-LD; the product-page buy button ignores misc12 and misc25; cards test misc12 before misc26.