Try your search with a different keyword or use * as a wildcard.
@model IList<ProductAttributeCombinationModel.ProductAttributeModel>
@using Nop.Core.Domain.Catalog;
@using Nop.Services.Catalog
@inject CatalogSettings catalogSettings
@if (Model.Count > 0)
{
foreach (var attribute in Model)
{
var controlId = $"{NopCatalogDefaults.ProductAttributePrefix}{attribute.Id}";
var textPrompt = !string.IsNullOrEmpty(attribute.TextPrompt) ? attribute.TextPrompt : attribute.Name;
<div class="form-group row">
<div class="col-sm-4">
<div class="label-wrapper">
<label class="col-form-label">
@textPrompt
</label>
</div>
</div>
<div class="col-sm-8">
<div class="input-group input-group-required">
@switch (attribute.AttributeControlType)
{
case AttributeControlType.DropdownList:
{
<select name="@(controlId)" id="@(controlId)" class="form-control">
@if (!attribute.IsRequired)
{
<option value="0">---</option>
}
@foreach (var attributeValue in attribute.Values)
{
<option selected="@attributeValue.IsPreSelected" value="@attributeValue.Id">
@attributeValue.Name
</option>
}
</select>
}
break;
case AttributeControlType.RadioList:
case AttributeControlType.ColorSquares:
case AttributeControlType.ImageSquares:
{
foreach (var attributeValue in attribute.Values)
{
<div class="form-check">
<input type="radio" class="form-check-input" name="@(controlId)" id="@(controlId)" value="@attributeValue.Id" checked="@attributeValue.IsPreSelected">
<label class="form-check-label" for="@(controlId)">
@attributeValue.Name
</label>
</div>
}
}
break;
case AttributeControlType.Checkboxes:
case AttributeControlType.ReadonlyCheckboxes:
{
foreach (var attributeValue in attribute.Values)
{
<div class="form-check">
<input class="form-check-input" type="checkbox" value="@attributeValue.Id" id="@(controlId)_@(attributeValue.Id)" name="@(controlId)" checked="@attributeValue.IsPreSelected" @(attribute.AttributeControlType == AttributeControlType.ReadonlyCheckboxes ? Html.Raw(" disabled=\"disabled\"") : null)>
<label class="form-check-label" for="@(controlId)_@(attributeValue.Id)">
@attributeValue.Name
</label>
</div>
}
}
break;
case AttributeControlType.TextBox:
{
<input name="@(controlId)" type="text" id="@(controlId)" class="form-control" />
}
break;
case AttributeControlType.MultilineTextbox:
{
<textarea cols="20" id="@(controlId)" name="@(controlId)" rows="2" class="form-control"></textarea>
}
break;
case AttributeControlType.Datepicker:
{
<nop-date-picker
asp-day-name="@(controlId + "_day")"
asp-month-name="@(controlId + "_month")"
asp-year-name="@(controlId + "_year")"
asp-begin-year="@(DateTime.UtcNow)"
asp-end-year="@(DateTime.UtcNow.AddYears(catalogSettings.CountDisplayedYearsDatePicker))"
/>
}
break;
case AttributeControlType.FileUpload:
{
<input type="file" id="@(controlId)" name="@(controlId)" class="form-control" />
}
break;
}
<div class="input-group-btn">
@if (attribute.IsRequired)
{
<nop-required />
}
</div>
</div>
</div>
</div>
}
}