protected virtual string GetString(Article product)
        {
            Throws.IfArgumentNull(product, _ => product);

            int typeId = default(int);

            var typeField = product.GetField("Type");

            var field = typeField as ExtensionArticleField;

            if (field != null)
            {
                if (!int.TryParse(field.Value, out typeId))
                {
                    typeId = 0;
                }
            }

            if (typeId <= 0)
            {
                _logger.Error("Product {productId} has no type", product.Id);
            }

            return(_service.GetControlDefinition(product.ContentId, typeId));
        }