ScalesCms.Cms.CmsBlockTemplates (scales_cms v0.2.0)

Copy Markdown

The Cms context.

Summary

Functions

Adds embedded element in a cms_block_template by embedded field name.

Applies sorting to a query based on the given column and order.

Returns an %Ecto.Changeset{} for tracking cms_block_template changes.

Counts block_templates with optional search query. Used for root-level directory listing pagination.

Creates a cms_block_template.

Deletes a cms_block_template.

Deletes embedded element in a cms_block_template by embedded field name and index.

Fetches a list of cms block templates based on parameters

Gets a single cms_block_template.

Returns the list of cms_block_templates.

Functions

add_cms_block_template_embedded_element(cms_block_template, embedded_field)

Adds embedded element in a cms_block_template by embedded field name.

Examples

iex> add_cms_block_template_embedded_element(cms_block_template, "buttons")
{:ok, %CmsBlockTemplate{}}

iex> add_cms_block_template_embedded_element(cms_block_template)
{:error, %Ecto.Changeset{}}

apply_sorting(query, sort_by, sort_order)

Applies sorting to a query based on the given column and order.

Parameters

  • query - The Ecto query to sort
  • sort_by - Column to sort by: "created"
  • sort_order - Sort direction: "asc" or "desc" (default: "asc")

Examples

iex> apply_sorting(query, "created", "desc")
#Ecto.Query<...>

change_cms_block_template(cms_block_template, attrs \\ %{})

Returns an %Ecto.Changeset{} for tracking cms_block_template changes.

Examples

iex> change_cms_block_template(cms_block_template)
%Ecto.Changeset{data: %CmsBlockTemplate{}}

count_block_templates(query \\ "", opts \\ [])

Counts block_templates with optional search query. Used for root-level directory listing pagination.

Examples

iex> count_block_templates("")
10

create_cms_block_template(attrs \\ %{})

Creates a cms_block_template.

Examples

iex> create_cms_block_template(%{field: value})
{:ok, %CmsBlockTemplate{}}

iex> create_cms_block_template(%{field: bad_value})
{:error, %Ecto.Changeset{}}

create_localized_variant!(template, locale)

delete_blocks_for_cms_templates(template_ids)

delete_cms_block_template(cms_block_template)

Deletes a cms_block_template.

Examples

iex> delete_cms_block_template(cms_block_template)
{:ok, %CmsBlockTemplate{}}

iex> delete_cms_block_template(cms_block_template)
{:error, %Ecto.Changeset{}}

delete_cms_block_template_embedded_element(cms_block_template, embedded_field, embedded_index)

Deletes embedded element in a cms_block_template by embedded field name and index.

Examples

iex> delete_cms_block_template_embedded_element(cms_block_template, "buttons", "0")
{:ok, %CmsBlockTemplate{}}

iex> delete_cms_block_template_embedded_element(cms_block_template)
{:error, %Ecto.Changeset{}}

delete_cms_block_templates_by_template_family_id(template_family_id)

fetch_cms_block_templates(query, offset, limit, opts \\ [])

Fetches a list of cms block templates based on parameters

get_by_family_and_locale(template_family_id, locale)

get_cms_block_template!(id)

Gets a single cms_block_template.

Raises Ecto.NoResultsError if the Cms page variant block does not exist.

Examples

iex> get_cms_block_template!(123)
%CmsBlockTemplate{}

iex> get_cms_block_template!(456)
** (Ecto.NoResultsError)

get_for_page_variant(template_family_id, page_variant_id)

get_or_create_localized_variant!(template, locale)

list_cms_block_templates()

Returns the list of cms_block_templates.

Examples

iex> list_cms_block_templates()
[%CmsBlockTemplate{}, ...]

list_cms_block_templates(locale)

publish_cms_block_template(cms_block_template)

scope_on_locale(query, locale)

update_cms_block_template(cms_block_template, attrs)

Updates a cms_block_template.

Examples

iex> update_cms_block_template(cms_block_template, %{field: new_value})
{:ok, %CmsBlockTemplate{}}

iex> update_cms_block_template(cms_block_template, %{field: bad_value})
{:error, %Ecto.Changeset{}}