Skip to content
Snippets Groups Projects

Пример шаблона для генерации JSON-файлов

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by Andrei Biriukov
    snippetfile1.txt 1.60 KiB
    {{- $outputModels := slice -}}
    {{- $models := index site.Data "models" }}
    {{- $media := partial "utils/get-data" "media" }}
    {{- with $models -}}
        {{- range $models -}}
            {{- $modelId := .id -}}
            {{- $modelData := .data -}}
            {{- $modelImageModelRange := index $modelData.images "modelrange" -}}
            {{- $imageUrl := "" -}}
            {{- with (partial "utils/get-media" (dict "media" $modelImageModelRange)) -}}
                {{- $imageUrl = .Permalink -}}
            {{- end -}}
            {{- $outputModels = $outputModels|append (dict
                "id" $modelId
                "name" $modelData.name
                "image" $imageUrl
            ) -}}
        {{- end -}}
    {{- else -}}
        {{ warnf "Отсутствует источник данных vehicles_models" }}
    {{- end -}}
    
    
    {{- $formsSettingsTestDrive := partial "utils/get-data" "forms_settings_test_drive" -}}
    {{- with $formsSettingsTestDrive -}}
        {{- with $formsSettingsTestDrive.forms_settings_test_drive.data -}}
            {{- $outputModels = partial "data/utils/sort-by-order" (dict
                "elements" $outputModels
                "order" .models_order
            ) -}}
    
            {{- $excludedModelIds := slice -}}
            {{- range .vehicle_models_excluded -}}
                {{- $excludedModelIds = $excludedModelIds|append .id -}}
            {{- end -}}
            {{- if $excludedModelIds -}}
                {{- $outputModels = where $outputModels "id" "not in" $excludedModelIds -}}
            {{- end -}}
        {{- end -}}
    {{- else -}}
        {{ warnf "Отсутствует источник данных forms_settings_test_drive" }}
    {{- end -}}
    
    {{ return ($outputModels|jsonify) }}
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment