Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

We're moving the community! Starting July 7, the current community will be read-only for approx. 2 weeks. You can browse content, but posting will be temporarily unavailable. Learn more

How to develop a custom form to fulfill business use?

How to develop a custom form to fulfill business use?

joeyip
Shopify Partner
4 0 0

I’ve developed a custom form to replace the customer register update form. The custom form includes adding OTP function and a check mobile function. How to build an extension to build two blocks and apply them to the themes?

 

Is that any example for reference?

Reply 1 (1)

Liam
Community Manager
3108 344 910

Hi Joeyip,

 

If I'm understanding you correctly, you'd like the form you've created to be a theme app extension consisting of two blocks? If so, these are the steps you'd need to take:

  1. Create an App Extension: You need to create a new app extension in the Shopify admin. This can be done from the Extensions page in the Shopify Partners dashboard.

  2. Create Blocks: Once you've created an app extension, you can create blocks. You'll need to create two blocks for your custom form - one for the OTP function and another for the check mobile function.

  3. Block Settings: For each block, you can define the settings that merchants can configure in the theme editor. These settings are defined in the block's schema, which is a JSON object.

  4. Block Templates: Each block also needs a Liquid template that defines its output in the theme. You can use Shopify Liquid to code the functionality your OTP and check mobile functions.

  5. Apply Blocks: Once you've created the blocks, you can apply them to your themes. You can do this by adding them to the theme's JSON file or by providing a deep link that merchants can use to add the block to their theme within the theme editor.

Here's a basic example of what a block's schema and template might look like:

// In the schema.json file
{
  "name": "OTP Block",
  "settings": [
    {
      "id": "otp_placeholder",
      "type": "text",
      "label": "OTP Placeholder Text",
      "default": "Enter your OTP"
    }
  ],
  "presets": [
    {
      "name": "Default",
      "settings": {
        "otp_placeholder": "Enter your OTP"
      }
    }
  ]
}
// In the block.liquid file
<div class="otp-block">
  <input type="text" placeholder="{{ block.settings.otp_placeholder }}">
</div>

Please note that the actual implementation will depend on the specific requirements of your OTP function and check mobile function. Our developer docs here provide an in-depth guide on how to build theme app extensions.

 

Hope this helps!

Liam | Developer Advocate @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog