<form action="[[~[[*resource_id]]? &scheme=`abs`]]" method="post">
<input type="hidden" name="shk-id" value="[[*id]]" />
<input type="hidden" name="shk-name" value="[[*pagetitle]]" />
<input type="hidden" name="shk-catalog" value="2" />
<input type="hidden" name="shk-count" value="1" />
<div class="shs-price">
<span class="shk-price">[[*price:num_format]]</span>
<button type="submit" name="shk-submit" class="small shk-but shk-buy">Buy</button>
</div>
</form><form action="[[~[[+resource_id]]? &scheme=`abs`]]" method="post">
<input type="hidden" name="shk-id" value="[[+id]]" />
<input type="hidden" name="shk-name" value="[[+pagetitle]]" />
<input type="hidden" name="shk-catalog" value="2" />
<input type="hidden" name="shk-count" value="1" />
<div class="shs-price">
<span class="shk-price">[[+price:num_format]]</span>
<button type="submit" name="shk-submit" class="small shk-but shk-buy">Buy</button>
</div>
</form>Something along the lines of this?
[[~[[+resource_id:default=`[[*resource_id]]`]]?...
Untested and badly formatted I'm using a phone but you get the idea with the default output modifier.
Why not just have two separate chunks? Otherwise, you're going to slow down page loads just to avoid having one more small chunk.The idea is to have the content similar for both catalog and product pages. Having 2 chunks instead of 1 and implementing the changes to the 1 chunk I will always have to remember that I have to change another chunk...