网上商店应具备哪些功能
1. 商品分类
首先要规划好您的商品分类结构。这将决定网站的整体架构,是采用带有分类页面的完整目录,还是仅使用几个没有子分类的主要分类。建议每个分类下不超过 200 件商品,为了方便用户快速找到所需商品,可以创建子分类。如果商品数量太多又不想创建子分类,那么可以考虑使用过滤器(参见第 N 点)。
当分类较多时,您可以使用模块 Taxonomy Manager:
2. 商品展示
如果说首页是网站的门面,那么商品页面就是网店的地基。大多数客户正是在阅读商品描述和查看图片时决定是否将商品加入购物车(参见第 N 点)。如果一件商品有多张图片,可以考虑为商品页面添加一个小型幻灯片。您可以使用以下模块:
社交网络
社交网络作为一种出色的交流与联结工具,正变得越来越受欢迎。通过它,用户不仅可以找到老朋友,还能结识新朋友。
创建社交网络是一项复杂的任务。但借助 CMS Drupal,可以轻松构建高访问量的大型项目。Drupal 能够应对巨大的负载,并且在功能扩展上没有限制,非常适合打造您的社交平台。我的工作方向之一正是社交网络的开发。
基于 Drupal 构建的社交网络在众多类似项目中具有明显优势。我创建的站点可靠、美观且易于使用,并充分考虑到特定主题的特性。我开发的社交网络具备所有必要功能,使用户不仅能自由交流,还能发布文章、评论新闻、发送私信、共享文件、观看视频、赠送礼物、组织聚会与群组,甚至通过在平台上销售商品来获利。
不同的社交网络有着不同的目标,但它们通常有一个共同的任务——聚集尽可能多的用户,为他们提供查找、交流、信息共享与自我实现的所有工具。人与人之间的社交联系是极具价值的资源,也可以用于推动您的业务发展。例如,越来越多的公司选择创建主题型社交网络,以在其产品或服务周围建立忠实的用户社区。
我可以帮助您创建一个社交网络,为您的业务发展开拓新的领域。
网络拍卖
我的主要目标是创建一个在线拍卖平台或电子交易市场。这是我的工作、我的爱好、我的事业,也是我的生活方式。这份工作让我充满热情。我以极大的兴趣、对完美的追求,甚至带着一点狂热,乐于创建在线市场、交易所和网络拍卖网站。对于 Drupal 来说,已有现成的解决方案 —— 拍卖模块,我可以轻松根据您的需求进行定制。
网络拍卖和电子交易平台是一个盈利且快速发展的行业。eBay、Alibaba.com、Taobao、Allegro、Apex Auctions 等平台的成功充分证明了此类网站对风险投资者的吸引力巨大,并且能为所有者带来可观的利润。尽管已经有众多强大的竞争者,但每年仍有新的拍卖类创业项目在互联网上涌现,使其创始人至少成为百万富翁。
我基于 Drupal 开发并提供稳定可靠的国际级解决方案,用于创建互联网拍卖业务。正如我所说,Drupal 已经拥有成熟的拍卖模块,它可以实现以下类型的网站:
团购网站
(СП)“团购”是一种形式,指由组织者在论坛上公开邀请参与者以批发价共同购买某种商品,并收取一定比例的组织者费用,以补偿其在收集、采购和分发商品过程中的支出。换句话说,就是以批发价有组织地购买商品。
团购(СП)并不是商店,而是一种通过组织者以生产商价格集体购买商品的方式,组织者只收取极少的组织费用(即服务费)。
团购(СП)不是商业企业!!!!!!
组织者——负责组织团购的人。
参与者——在团购中下单并随后向组织者付款的人。
付款 = 批发价 + 组织者为从供应商处购买商品所设定的百分比服务费。
众所周知,商店中商品的零售价通常比大型供应商或生产厂商的批发价高出许多。普通人无法以最低价直接从批发商处购买商品,因为他们不做零售。此外,还有其他限制——例如服装或鞋类通常只能按整套尺码系列销售。但当一群对同一品牌商品感兴趣的人聚在一起时,就能凑齐最小的批发订货量。这种形式就叫做“团购”。
代码片段(snippets)
代码片段(Snippets)——是一些小型代码块,不像变量那样短小,也不至于大到需要单独写成模块。借助 PHP 代码,我们可以在模板中直接输出数据、访问数据库,或者在需要的地方为区块添加类(class)或标识(id)。在很多情况下,使用代码片段比写一个完整模块更加方便。类似的使用场景非常多,Drupal 官方文档中也收录了大量这样的代码片段:
http://drupal.org/documentation/customization/snippets
稍后我会更详细地介绍如何使用代码片段,而现在我先开启这个新章节,并逐步添加一些我常用的示例。
Views:当使用多值字段时如何去除节点重复显示
最近我在使用 Views 输出公司列表时,发现 Views 会重复显示 1–3 条相同的记录,这让我很困惑。尝试删除过滤器和排序条件后,问题依然存在 —— 节点仍然重复。原来问题出在节点包含了一个具有多值的日期字段(multi-value field),正是这个字段导致了公司节点的重复。下面是我解决 Views 节点重复 问题的方法,或许也能帮到你:
首先创建一个自定义模块,我将它命名为 sitemade。文件 sitemade.info 的内容如下:
htaccess 关闭错误显示(htaccess display errors off)
要在页面上关闭 PHP 错误输出,请在 .htaccess 文件中添加以下代码:
# 禁止显示 PHP 错误 php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_value docref_root 0 php_value docref_ext 0
在任意模板中插入区块(Drupal insert block into template)
Drupal 8
在 Twig 模板中不能直接调用 PHP 代码,因此我们需要将已生成的区块从预处理函数传递到模板中。如果你想在节点模板中传递变量,可以在主题中使用 themename_preprocess_node() 函数;如果是页面模板,则使用 themename_preprocess_page()。通过这些函数将变量传递给 Twig 模板后,就可以在模板中输出该变量。
通过后台创建的区块
$block = \Drupal\block\Entity\Block::load('your_block_id');
$variables['block_output'] = \Drupal::entityTypeManager()
->getViewBuilder('block')
->view($block);
在 themename_preprocess_node()(节点模板)函数中可以这样输出区块:
以编程方式使用图像预设(programmatically use imagecache)
与 Drupal 6 相比,Drupal 7 中的 ImageCache API(图像样式)有所变化。在 Drupal 6 中,我们可以通过以下方式以编程方式使用图像预设(preset):
<?php print theme('imagecache', 'my_preset', $file_path, $alt, $title, $attributes); ?>
例如:
theme('imagecache', '300x300crop', $first_photo["filepath"], $node->title, $node->title, array('itemprop' => 'image'));
而在 Drupal 7 中,代码写法略有不同:
在特定内容类型的页面上显示区块
有时我们需要让某个区块只显示在特定内容类型的页面上。Drupal 的标准区块可见性设置只能根据路径或用户角色进行控制。通过启用 PHP 模式并在区块的可见性设置中添加以下代码,我们可以让区块只在指定内容类型的页面上显示。