1. Go to this page and download the library: Download contentstack/utils library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
contentstack / utils example snippets
declare(strict_types=1);
namespace Sample\App;
use Contentstack\Utils\Resource\EntryEmbedable;
use Contentstack\Utils\Resource\RenderableInterface;
use Contentstack\Utils\Resource\EmbeddedObject;
use Contentstack\Utils\Model\Option;
use Contentstack\Utils\Model\Metadata;
use Contentstack\Utils\Enum\StyleType;
use Contentstack\Utils\Enum\NodeType;
use Contentstack\Utils\Enum\MarkType;
class CustomOption extends Option {
function renderMark(MarkType $markType, string $text): string
{
switch ($markType)
{
case MarkType::get(MarkType::BOLD):
return "<b>".$text."</b>";
default:
return parent::renderMark($markType, $text);
}
}
function renderNode(string $nodeType, object $node, string $innerHtml): string
{
switch ($nodeType)
{
case "p":
return "<p class='class-id'>".$innerHtml."</p>";
case "h1":
return "<h1 class='class-id'>".$innerHtml."</h1>";
default:
return parent::renderNode($nodeType, $node, $innerHtml);
}
}
function renderOptions(array $embeddedObject, Metadata $metadata): string
{
switch ($metadata->getStyleType()) {
case StyleType::get(StyleType::BLOCK):
if ($metadata->contentTypeUID === 'product') {
return "<div>
<h2 >".$embeddedObject["title"]."</h2>
<img src=".$embeddedObject["product_image"]["url"]. "alt=".$embeddedObject["product_image"]["title"]."/>
<p>".$embeddedObject["price"]."</p>
</div>"
}
case StyleType::get(StyleType::INLINE):
return "<span><b>".$embeddedObject["title"]."</b> -".$embeddedObject["description"]."</span>";
case StyleType::get(StyleType::LINK):
return "<a href=".$metadata->getAttribute("href")->value
.">".$metadata->getText()."</a>"
case StyleType::get(StyleType::DISPLAY):
return "<img src=".$metadata->getAttribute("src")->value." alt='".$metadata->getAttribute("alt")->value." />";
case StyleType::get(StyleType::DOWNLOAD):
return "<a href=".$metadata->getAttribute("href")->value
.">".$metadata->getText()."</a>"
}
return parent::renderOptions($embeddedObject, $metadata);
}
}
use Contentstack\Contentstack;
use Contentstack\Utils\Model\Option;
$stack = Contentstack::Stack('<API_KEY>', '<ENVIRONMENT_SPECIFIC_DELIVERY_TOKEN>', '<ENVIRONMENT>');
$entry = $stack->ContentType('<CONTENT_TYPE_UID>')->Entry('<ENTRY_UID>')->
$rendered_rich_text = Contentstack.renderContent($entry['rte_field_uid'], new CustomOption($entry));
use Contentstack\Contentstack;
use Contentstack\Utils\Model\Option;
$stack = Contentstack::Stack('<API_KEY>', '<ENVIRONMENT_SPECIFIC_DELIVERY_TOKEN>', '<ENVIRONMENT>');
$entry = $stack->ContentType('<CONTENT_TYPE_UID>')->Entry('<ENTRY_UID>')->
$rendered_rich_text = Contentstack.jsonToHtml($entry['rte_field_uid'], new CustomOption($entry));
use Contentstack\Contentstack;
use Contentstack\Utils\Model\Option;
$stack = Contentstack::Stack('<API_KEY>', '<ENVIRONMENT_SPECIFIC_DELIVERY_TOKEN>', '<ENVIRONMENT>');
$result = $stack->ContentType('<CONTENT_TYPE_UID>')->Query()->toJSON()->
use Contentstack\Contentstack;
use Contentstack\Utils\Model\Option;
$stack = Contentstack::Stack('<API_KEY>', '<ENVIRONMENT_SPECIFIC_DELIVERY_TOKEN>', '<ENVIRONMENT>');
$result = $stack->ContentType('<CONTENT_TYPE_UID>')->Query()->toJSON()->
use Contentstack\Utils\GQL;
use Contentstack\Utils\Model\Option;
// GQL fetch API
...
$render_html_text = GQL::jsonToHtml($entry->rich_text_content,, new Option());
...
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.