标签: slug

将任何标题转换为url slug并从url slug转换回title

我想将博客条目的任何标题转换为用户友好的URL.我使用rawurlencode()来做到这一点,但它给了我很多奇怪的字符串,如%s.

该算法应该考虑像Ö,Ä等德国字符.我想从标题创建一个网址,并能够通过解码网址获得标题.

我尝试了一些代码:http://pastebin.com/L1SwESBn在其他一些问题中提供,但它似乎是一种方式.

例如 HÖRZU.de -> hoerzu-de -> HÖRZU.de

有任何想法吗?

php string url-encoding slug

9
推荐指数
1
解决办法
1万
查看次数

Laravel Slugs与Str :: slug

看看我的前端URL生成的Str :: slug,但只是想知道你们如何用路由等来实现它,例如,你们如何将http://www.example.com/courses/1更改为http ://www.example.com/courses/this-course

string url friendly-url slug laravel-4

9
推荐指数
2
解决办法
3万
查看次数

Django:您正在尝试添加一个不可为空的字段“slug”以在没有默认值的情况下进行发布;我们不能那样做

我正在尝试添加 slug,以便帖子的标题出现在网址中,但我在控制台上收到此消息:

You are trying to add a non-nullable field 'slug' to post without a default; we can't do that Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
 2) Quit, and let me add a default in models.py
Run Code Online (Sandbox Code Playgroud)

模型.py

class Post(models.Model):
    
    title = models.CharField(max_length=100)   
    date_posted = models.DateTimeField(default=timezone.now)    
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    slug = models.SlugField(unique=True)

    def save(self, *args, **kwargs):
        self.slug = self.slug or slugify(self.title)
        super().save(*args, …
Run Code Online (Sandbox Code Playgroud)

python django slug

9
推荐指数
1
解决办法
2万
查看次数

如何在C#中将超级或下标转换为普通文本

我正在写一个slug生成器来制作漂亮的网址.我想将m2转换为m2,但是以通用的方式为所有上标(或下标)执行此操作,而不仅仅是简单的替换语句.

有任何想法吗?

c# superscript slug subscript

8
推荐指数
2
解决办法
3363
查看次数

Canonical链接和301 Redirect如果URL与slug不匹配

我正在尝试实现类似于django/python中的堆栈溢出的URL方案.

例如,pk与标题的slug一起存储在URL中,因此对于这个问题(id#4787731),URL是

https://stackoverflow.com/questions/4787731/canonical-links-and-301-redirect-if-url-doesnt-match-slug
Run Code Online (Sandbox Code Playgroud)

如果我以后更改标题(或者只是将一些随机的crud放入网址),那么该网站仍然会知道我追究的是哪个问题(通过ID)并将301重定向到正确的网址 - 例如尝试.

https://stackoverflow.com/questions/4787731/canonical-links-MODIFIED-URL
Run Code Online (Sandbox Code Playgroud)

所以

  • 在我的网页中包含规范链接的最佳方式是什么?

    <link rel ="canonical"href ="/sf/ask/335141201/">

(我可以使用get_absolute_url)

  • 识别当前URL与规范链接不匹配并发出301的最佳方法是什么?

注意 - 这个问题类似,但仅针对动态生成slu or或静态生成slug的情况.

python django redirect slug http-status-code-301

8
推荐指数
1
解决办法
4472
查看次数

术语"slug"(如在URL中)是如何产生的?

我做了一些谷歌搜索,试图找出URL中使用的"slug"这个词的来源.但是我似乎无法找到任何相关信息.有谁知道这个词的来源?

url terminology slug

8
推荐指数
1
解决办法
4604
查看次数

Symfony 2 - 使用表单时无法设置Sluggable

我试图使用Doctrine Extensions包中的Sluggable行为:

http://gediminasm.org/article/sluggable-behavior-extension-for-doctrine-2

我使用注释在我的实体中设置了一个可缓冲的字段,但是当我使用表单创建实例时,该值不会被设置,这会导致以下错误:

SQLSTATE [23000]:完整性约束违规:1048列'slug'不能为空

这是我的控制器的代码:

        $form = $this->createFormBuilder($section)
                        ->add('title', 'text')
                        ->getForm();

        if ($request->getMethod() == 'POST') {
        $form->bindRequest($request);

            if ($form->isValid()) {

                $em = $this->getDoctrine()->getEntityManager();
                $em->persist($section);
                $em->flush();

                if (empty($id)) {
                    return $this->redirect($this->generateUrl('ContentBundle_section_new'));
                }
                else {
                    return $this->redirect($this->generateUrl('ContentBundle_section_edit', array('id' => $id)));
                }

            }
        }
Run Code Online (Sandbox Code Playgroud)

实体类中的可缓冲字段定义:

    /**
     * @Gedmo\Slug(fields={"title"})
     * @ORM\Column(length=128, unique=true)
     */
    private $slug;
Run Code Online (Sandbox Code Playgroud)

如果我将slug字段添加到formbuilder并手动设置一个值,它可以正常工作,但显然我不想搞乱这个.

有人可以帮忙吗?

谢谢

slug symfony doctrine-orm

8
推荐指数
1
解决办法
6256
查看次数

Django抽象父模型保存覆盖

我正在尝试在Django中编写一个抽象的父模型,这将帮助我从许多其他子模型的名称字段中创建一些slug字段.它使用编码,适用于从西里尔字母到拉丁字母的透射形式.然后它使用django的slugify函数来删除垃圾.

class SlugModel(models.Model):
    class Meta:
        abstract = True

    name = models.CharField(max_length=128, default=u'')
    slug = models.CharField(max_length=128,blank=True)

    def save(self, *args, **kwargs):
        if not self.slug:
            slug = slugify(unicode(self.name).encode('trans'))
        else:
            slug = self.slug
        count = self.__class__.objects.filter(slug = slug).count()
        if count > 1:
            if slug[-2]=='_':
                count = int(slug[-1])
                slug = slug[:-2]
            self.slug = '{0}_{1}'.format(slug,count+1)
        else:
            self.slug = slug
        super(self.__class__, self).save(*args, **kwargs)

    def __unicode__(self):
        return self.name



class Foo(SlugModel):
    pass
Run Code Online (Sandbox Code Playgroud)

当我尝试保存一些Foo对象时会出现问题:它会导致RuntimeError(超出最大递归深度).我究竟做错了什么?我该怎么写得super(self.__class__, self).save(*args, **kwargs)正确?

django django-models slug

8
推荐指数
1
解决办法
3067
查看次数

如何制作和存储帖子标题的slug?

我使用MongoDB/mongoose存储具有以下模式的博客帖子:

PostSchema = mongoose.Schema({
   title: {type: String},
   body: {type: String}
});
Run Code Online (Sandbox Code Playgroud)

现在我的帖子网址如下所示: http://www.example.local/posts/571f78d077b4454bafcfcced

我希望我的帖子包含如下的slug: http://www.example.local/posts/571f78d077b4454bafcfcced/how-to-make-and-store-slug-for-title

所以我的问题是:

  1. 我应该生成一次slug并存储在PostModel模式中还是生成每个帖子显示?
  2. 如何为非ASCII字符生成标题上的slug basen(现有节点模块解析此任务)?
  3. 我应该使用哪个地方将查询重定向http://www.example.local/posts/571f78d077b4454bafcfccedhttp://www.example.local/posts/571f78d077b4454bafcfcced/how-to-make-and-store-slug-for-title(nodejs,nginx,客户端).

谢谢!

EIDT:我还发现在StackOverflow数据库viwer中用于id为503429的qoestion存储非slugged标题.那么,每当问题被要求时,SO是否计算出slu?

seo slug mongoose mongodb node.js

8
推荐指数
1
解决办法
2577
查看次数

wordpress fishpig magento安装 - getPostListHtml()

我使用第三方模块fishpig在我的magento商店安装了wordpress.

我有一个名为list.phtml的页面,它使用$this->getPostListHtml()我添加了另一个div并复制它来发布类别中的所有内容,但现在它只是将第一个div中的帖子复制到第二个div中.如何创建一个独特的第二个div,所以当在后端发布帖子时,它只会发布到同一页面上的第二个div.目前我通过slug和post collection获得分类,然后设置顺序(asc)然后我循环通过类别和骑手为每个页面拉动相似的内容.我有几个页面,但在每个车手页面上,它仍然必须在Team下面有Team 2的帖子.我希望这是有道理的.

CPT /团队/ list.phtml

<?php
/**
 * Team (Rider) - Landing Page
 */
/* @var $this test_Wordpress_Block_Cpt_Type_View */

/* @var $helper test_Wordpress_Helper_Data */
$helper = $this->helper('wordpress');
/* @var $postType Fishpig_Wordpress_Addon_CPT_Model_Type */
$postType = $this->getPostType();
$categorySlug = $this->getCurrentCategorySlug();
$allCategories = $helper->getAllCategories();

$instagramHandles = array(
    'skate' => 'testskate',
    'surf' => 'testsurf',
    'snow' => 'testsnow',
    'mx' => 'testmx',
    'testunity' => 'testunity',
    'girls' => 'testgirls',
);

$textRider = ($categorySlug == 'testunity') ? 'Ambassador' : 'Rider';
$htmlRiderPicks = $this->getChildHtml('picks');
$hasEvents …
Run Code Online (Sandbox Code Playgroud)

php wordpress foreach magento slug

8
推荐指数
1
解决办法
371
查看次数